Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:12950
HistoryJun 02, 2006 - 12:00 a.m.

уязвимость в Sad Raven's guestbook

2006-06-0200:00:00
vulners.com
21314

доброе время суток. Недавно я нашел уязвимость в Sad Raven's guestbook версии 1.1,
которая позволяет любому пользователю получить доступ в админ-центр.
Заранее прошу извинить, если эту уязвимость уже кто-то нашел, но я не нашел нигде о ней
никакого упоминания. Все говорят только о том, что пароли администратора хранятся в файле
passwd.dat. А это не так интересно, т.к. там хранятся лишь хеши паролей…
Итак, найденная мною уязвимость заключается в том, что подставив в get-запрос такие
переменные:
alogin=1&pass=a&Password[1]=0cc175b9c0f1b6a831c399e269772661
можно успешно пройти авторизацию в админ-центре, не зная настоящего логина и пароля!
Баг проявляется в следующих строках кода:

if (!isset($alogin) || md5($pass) != $Password[$alogin] ||
!isset($Password[$alogin])):
$logined = 0;
$error = "Неверный логин или пароль!<br>";
setcookie("alogin","",0);
setcookie("pass","",0);
else:
$logined = 1;
setcookie("alogin",$alogin);
setcookie("pass",$pass);

(Напомню, что в passwd.dat хранятся строки типа $Password['MYLOGIN']=MD5ХЕШМОЕГОПАРОЛЯ)
Теперь, когда alogin=1, pass=a, нужно сунуть в Password[1] md5 хеш от буквы a.
Для удобства лучше эти параметры передавать не в GET запросе, а через COOKIE.
Применений можно найти много, достаточно того, что в админ-центре в разделе ДИЗАЙН
возможно редактировать файлы design/header.inc.php и design/footer.inc.php…
Но есть еще одна интересная особенность:
В разделе НАСТРОЙКИ можно поменять путь к файлу header.inc.php, там можно вместо этого
файла прописать вообще любой! например, просто config.inc.php. таким образом, в разделе
ДИЗАЙН можно отредактировать любой файл(предварительно прописав его в разделе НАСТРОЙКИ).
P.S. надеюсь мое письмо получилось не слишком сбивчевым и вы смогли уловить суть. Удачи и
успехов в развитии security.nnov.ru
С Уважением, Корниенко Дмитрий aka Dimonelite