![]() |
Explay CMS 2.1 множественные SQL inj + Exploit
Вложений: 2
Explay CMS 2.1
1) SQL injection Need: magic_qoutes=Off Вообщем уязвимый код приводить не буду. Опишу как заюзать. Для эксплуатации необходим зарегестрированный юзер (далее U1). А также еще один юзер(U2) добавленный в друзья. Для обоих юзеров вы должны знать их id. Хочу еще обратить внимание на то что при эксплуатации этой уязвимости создается два ПМ сообщения, первое отправляется U2 в нем будет написанно только Hello, а второе сообщение будет содержать в себе админские логин/хеш и отправленно оно будет вам в ПМ. Пакет к серверу составляем приблизительно вот такого типа: Код:
URL: http://explay/messages/write/Need: magic_qoutes=Off Их всего две штуки, для первой написанн эксплойт (смотрим в атаче) Пакет составлять так: Код:
URL: http://explay/feedback/Код:
URL: http://explay/edit_profile/Need: magic_qoutes=Off, register_globals=On Чтобы создать юзера с правами админа, при регистрации нового юзера, указываем еще одну переменную Код:
POST: nicq=1','','','','off','',0,0,'','off','','','','','','','','','','',''), ('','login','9addbf544119efa4a64223b649750a510f0d463f','name','admin','1','xxx@xx.xx','1','','','','off','',0,0,'','off','','','','','','','','','','','') -- d |
[Explay CMS <= 2.1] SQL Injection
[Explay CMS <= 2.1] SQL Injection
Уязвимость позволяет получить хэш пароля любого пользователя. Экслуатация уязвимости возможна при отключённой PHP-директиве magic_quotes_gpc. Для получение пароля необходимо добавить статью (http://[explay]/my_articles/add/) с кодом специально сформированного SQL-запроса в поле art_body (то есть основной текст статьи). Код добавления новой статьи: modules/articles/mysql.class.php PHP код:
PHP код:
Цитата:
В итоге выполнится вот такой запрос: PHP код:
Цитата:
PHP код:
К великому счастью, в движке авторизация пользователя реализована только через Cookies, так что мы можем не брутить хэш, а просто создать куки login и pass с соответствующими значениями. Теперь мы админы. Getting shell Но это ещё не всё! Встроенный в админку интерфейс для выполнения произвольных SQL-запросов позволяет нам создать шелл (при условии включённого file_priv): PHP код:
|
А что в этих запросах значит
Цитата:
|
Тут мы должны получить свой собственный user_id, так как его необходимо указать при вставке, чтобы именно мы были автором статьи. Можно конечно и не указывать "WHERE user_login='<UR_LOGIN>'" и вписать к примеру единицу (user_id=1), но тогда автором будет сам админ =).
<UR_LOGIN> - наш логин (не путать с именем!). |
| Время: 07:01 |