Описание:
Как ты помнишь не так давно я описывал отличный эксплойт для IPB, позволяющий получать привилегии администратора. Авторы борды довольно быстро залатали баг, но ушлые хакеры нашли еще одну SQL-инъекцию в том же самом сценарии login.php. Более того, код, как и в прошлый раз, реализован на языке Perl. Суть бреши похожа на предыдущую, поэтому за деталями бага отправляю тебя в прошлый обзор эксплойтов :). Традиционно в коде кроется защита от детей, но скажу по секрету, найти ее может даже человек не особо разбирающийся в Perl.
Сплойт требует наличия модуля LWPUserAgent, так что прежде чем его тестировать, убедись в правильной работе плагина. Для правильного запуска эксплойта, ему необходимо передать ряд параметров: хост сервера (без префикса http://), путь к форуму, версию борды (0 — 1.3, 1 — 2.x) и опционально идентификатор пользователя, права которого надо получить. Уже через несколько секунд сплойт выведет хэш нужного пароля.
Защита:
Пока что защиты от бага не существует, но автор сплойта предложил метод спасения от уязвимости. Для этого замени следующие строки в коде скрипта login.php:
$mid = intval($std->my_get cookie(member_id));
$pid = $std->my_get cookie(pass_hash);
на
$mid = mysql_escape_string(intval($std->my_get cookie(member _id)));
$pid = mysql_escape_string($std->my_get cookie(pass_hash));
Данная модификация может быть произведена на всех версиях форума.
Ссылки:
Забирай эксплойт по ссылке http://securitylab.ru/_Exploits/2005/07/ipb.pltxt.