• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема с поиском через $$search-форму

  • Автор темы KlausKinski
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KlausKinski

Коллеги, столкнулся с проблемой - есть две довольно похожие между собой базы, и есть в них обеих поисковая форма под веб (не суть важно что под веб, ибо в Notes с помощью search view та же история). На схожих формах есть идентичные поля ReqNumber, хранящие номер документа-запроса.

Так вот, в одной базе поисковый запрос по номеру работает на ура, а в другой никаких результатов не выдает. Запрос идентичный в обоих случаях:

../ArchiveView?SearchView&Query=FIELD%20ReqNumber%20%3D%201121 (что по сути FIELD ReqNumber = 1121)

Та же ситуация с search view в толстом клиенте и пока у меня подозрение на индексы полей, создаваемые внутри баз, которые вестимо хранят и их тип, потому что при построении запроса в search view в одной базе он предлагает мне использовать "contains" (видимо считает поле текстовым), а в другой "equal to".

Поделитесь, пожалуйста, мыслями и, между прочим, можно сбросить индекс полей для базы?

Спасибо!
 
K

KlausKinski

Индекс конечно же обновлял, и пересоздавал тоже. Я скорее подозреваю индекс полей всех форм приложения, ну знаете, когда поле при первом сохранении попадает в системный список, который, например, виден при создании столбца во вьюхе. Собственно, этот список хранит даже уже неиспользуемые поля. Откуда он еще может предугадывать тип поля?

Параметры двух баз идентичны, поля, хоть и различны по названию, числовые, создаются идентичными агентами, на форме также присутствуют в числовом представлении. Полагаю, что при первом сохранении формы оно могло быть текстовым, отсюда и путаница.

Прилагаю сравнение построений поисковых запросов в search this view, указывающее на их различие.
 

Вложения

  • scr1.gif
    scr1.gif
    15 КБ · Просмотры: 557

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
а вот так попробуйте
/ArchiveView?SearchView&Query=[ReqNumber]co("1121")
или
/ArchiveView?SearchView&Query=[ReqNumber]co(112*) - варианты

Главным являются кавычки [] далее должен быть символ(ы). Любой. Не пробел. Хоть geq (В скобках запрос).
Написал, было, что нет разницы в текстовое поле или цифровое. Ан нет. Пробежался по своим данным такими запросами. В числах не ищет. Только текст. Имхо проагентить надо все в текст.

re: копнул. Ищет по числу там где Флаги поля: SEAL SUMMARY , если Флаги поля: SUMMARY - не ищет.
 
K

KlausKinski

NetWood
Спасибо за наводку, но на числа действительно не сработало. Конвертировать числа в текст не хотелось бы, тем более что в первом приложении идентичное поле в поиске ведет себя как надо. Тип и флаги у полей одинаковые - просто Number Summary

А вы случаем не знаете как по-научному называется индекс полей внутри приложения? Куда заносится имя и тип поля после его создания и сохранения на форме?
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
по-научному называется индекс
Не. До таких высот я не доходил. Лотус - это такая штука, которая может довести до истерики непосвященного. Но если внять правилам - будете в шоколаде. А что мешает перевести в текст поле? Ну не трогайте это. Сделайте соседа ReqNumberTxt и отагентьте. Даже не показывайте его и в форму не заводите. Просто скриптом назначьте. И все будет искаться, так как индекс указывает не на поле, а на документ.

Я у себя даже боролся с избыточным поиском. Есть поля со служебной инфой. Они на форме не показываются - используются экспортом в скрипте. НО, если поискать, то выдает доки с содержимым запроса, а при открытии дока данных в форме не видно - закрыто. Боролся шифрованием поля. Похрен. Выдает док в запросе и все. В итоге забил.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!