Подскажите где тут грабли, впариваю в форму hi" or 1=1-- (на ' не реагирует) на что DAO отвечает: DAO.Database error '800a0c03' Syntax error in string in query expression 'user="hi" or 1=1--"'. /edit.asp, line 121 что тут не так, или в данном случае это не уязвимость ? Что ещё можно попробовать для проверки
Все очень просто. В статье (http://antichat.ru/sql) описывается MySQL, в ктором ограничителем строковых констант является одинарная кавычка. В других версиях SQL может использоваться и двойная кавычка, а также оба типа кавычек. В данном случае в используется двойная кавычка, уязвимость явно есть.
Cтатью читал, там вроде всё понятно , а тут ничё непонятно Как правильно сформировать запрос чтобы избавиться от Syntax error , что то несооброжу...
Именно так и оказалось, но вот опять непонятки... В статье на www.securitylab.ru говориться что: Системная таблица INFORMATION_SCHEMA.TABLES содержит информацию всех таблиц на сервере. Стало быть, запрос типа: 10" UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES должен выдать имя 1-ой таблицы, а выдаёт "Couldn't find file 'INFORMATION_SCHEMA.mdb'." Интересно с чего такое продположение что эта тааблица обязательно существует... Есть ли какие способы узнать какая системная таблица используется вместо INFORMATION_SCHEMA ? Спасибо.
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Resp @ мая 29 2003,00:15)</td></tr><tr><td id="QUOTE">В статье на www.securitylab.ru говориться что: Системная таблица INFORMATION_SCHEMA.TABLES содержит информацию всех таблиц на сервере.[/QUOTE]<span id='postcolor'> таблица INFORMATION_SCHEMA.TABLES используется только в Microsoft SQL Server
Сервер крутиться NT4 SP(хз), из ошибки видно что используется Miscrosoft DAO , Это разве не оно самое ?
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Resp @ мая 29 2003,02:26)</td></tr><tr><td id="QUOTE">Сервер крутиться NT4 SP(хз), из ошибки видно что используется Miscrosoft DAO , Это разве не оно самое ?[/QUOTE]<span id='postcolor'> Нет конечно )) DAO это программная надстройка над ODBC предназначенная для разработки приложений баз данных(в основном на С++, для MS Access) MS SQL server это движок БД, поддерживающий хранение данных, доступ к ним (посредством SQL), сетевой доступ..
Тёмный я человек ) Спасибо просветил Может наведёшь на путь истиный, чтоб не блуждать по Яндексам и Гуглам, что тут можно ещё предпринять ? Или угадывание таблицы единственное что остаётся в данном случае ?
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Resp @ мая 29 2003,19:20)</td></tr><tr><td id="QUOTE">Тёмный я человек ) Спасибо просветил Может наведёшь на путь истиный, чтоб не блуждать по Яндексам и Гуглам, что тут можно ещё предпринять ? Или угадывание таблицы единственное что остаётся в данном случае ?[/QUOTE]<span id='postcolor'> Вообще-то Microsoft Jet (используемая MS Access) довольно примитивная платформа, рассчитанная на локальное однопользовательское использование. Поэтому наворотов типа INFORMATION_SCHEMA в ней нет. Все что поддерживает Microsoft Jet SQL описано в хелпе MSAccess (раздел "справка по языку Microsoft Jet SQL"