Чаты Sql injection или где %)

Discussion in 'Веб-уязвимости' started by Guest, 27 May 2003.

  1. Guest

    Guest Guest

    Reputations:
    0
    Подскажите где тут грабли,
    впариваю в форму 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

    что тут не так, или в данном случае это не уязвимость ?
    Что ещё можно попробовать для проверки
     
  2. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Все очень просто.
    В статье (http://antichat.ru/sql) описывается MySQL, в ктором ограничителем строковых констант является одинарная кавычка. В других версиях SQL может использоваться и двойная кавычка, а также оба типа кавычек.

    В данном случае в используется двойная кавычка, уязвимость явно есть.
     
  3. Resp

    Resp New Member

    Joined:
    27 May 2003
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Cтатью читал, там вроде всё понятно , а тут ничё непонятно [​IMG]
    Как правильно сформировать запрос чтобы избавиться от Syntax error , что то несооброжу... [​IMG]
     
  4. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Введи например такое
    " or "1"="1
    Ошибки выдать не должно
     
  5. Resp

    Resp New Member

    Joined:
    27 May 2003
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Именно так и оказалось,
    но вот опять непонятки...
    В статье на 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 ?
    Спасибо.
     
  6. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    </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
     
  7. Resp

    Resp New Member

    Joined:
    27 May 2003
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Сервер крутиться NT4 SP(хз),
    из ошибки видно что используется Miscrosoft DAO ,
    Это разве не оно самое ?
     
  8. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    </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), сетевой доступ..
     
  9. Resp

    Resp New Member

    Joined:
    27 May 2003
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Тёмный я человек [​IMG]) Спасибо просветил [​IMG]
    Может наведёшь на путь истиный, чтоб не блуждать по Яндексам и Гуглам, что тут можно ещё предпринять ?
    Или угадывание таблицы единственное что остаётся в данном случае ?
     
  10. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    </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">Тёмный я человек [​IMG]) Спасибо просветил [​IMG]
    Может наведёшь на путь истиный, чтоб не блуждать по Яндексам и Гуглам, что тут можно ещё предпринять ?
    Или угадывание таблицы единственное что остаётся в данном случае ?[/QUOTE]<span id='postcolor'>
    Вообще-то Microsoft Jet (используемая MS Access) довольно примитивная платформа, рассчитанная на локальное однопользовательское использование. Поэтому наворотов типа INFORMATION_SCHEMA в ней нет.
    Все что поддерживает Microsoft Jet SQL описано в хелпе MSAccess (раздел &quot;справка по языку Microsoft Jet SQL&quot;)