PDA

Просмотр полной версии : powered by utopsite


Scipio
24.10.2007, 02:27
Ну это не совсем CMS, так что не совсем в тему... (хотя тут про phpMyAdmin даже тема закрепленная есть)

вобщем нашел sql-inj в этом движке рейтинга сайтов

уязвимость в файле index.php в переменной opted пердающейся методом POST. Инъекция происходит после конструкции order by, что при наличии на сервере Mysql 4.1 и выше дает возможность получить данные при помощи подзапросов
dork: intitle: powered by utopsite

пример:

сайт:www.extreem.ru (к сожалению версия Mysql 4.0)
путь до уязвимого скрипта:http://www.extreem.ru/rating/index.php

послав скрипту пост-переменную opted со значением
-hits*(substring(version(),1,1)=4)
(при этом пост переменная way должна принимать значение desc)

мы видим, что сортировка идет по возрастанию значения "Хитов:", значит подзапрос правильный (значение True или 1), если подзапрос принимает значение FALSE, в нашем случае:
-hits*(substring(version(),3,1)=1)
такого не происходит

т.о. для весии mysql>=4.1 мы можем получать данные из БД c помощью подзапросов (не буду описывать как, знающие синтаксис Mysql сами все понимают)
для версии mysql<4.1 можно получить определенную информацию (user(),version(),database(),host) как я и показал в примере...

PS также после order by можно использовать конструкцию select if например в переменную opted послать:
(select+if(ascii(substring(version(),1,1))=52,hits ,vote))если подзапрос вернет true, то сортировка будет по значению "Хитов:"(hits), в противном случае по значению "Голосов:"(vote)

it's my
25.10.2007, 03:19
Можно ли написать сплоит под эту уязвимость?
если да, то неземное уважение и куча респекта!