(In)seguridad en los foros [SMF]

Iniciado por ‭lipman, 14 Julio 2010, 10:23 AM

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

jdc

Pues el campo de la contraseña sin cifrar no se compara, lo único que hace es ingresarlo a la db en el sistema luego no se compara sino que se sigue tratando el hash cifrado. Asi que insisto, no es explotable sin acceso a la db.

jdc

Auch tienes razón, no me había fijado claro que la consulta para ser universal podría ser where id = 1 por sí no tienes el usuario del admin

evillcs

Aver si alguien me ayuda con esto..

Yo pongo el codigo

$contrasenha = $_POST['passwrd1'];
$miembrouser = $_POST['user'];

$consulta = "UPDATE smf_members SET pwdlol = '$contrasenha' WHERE memberName = '$miembrouser'";
$resultado = mysql_query($consulta) or die("Error realizando la consulta");


(Ya se que aqui lo borraron pero lo pueden ver en http://delanover.com/2010/07/14/inseguridad-en-los-foros-smf/)

Lo pongo en la linea 304 de register.php, pero al registrarse alguien, la tabla pwdlol, sigue NULL, es decir, nada se escribe alli..

Ya verifique que mi register.php use en el POST passwrd1 y user, y asi es, esta todo bien, pero no se escribe nada en el campo pwdlol..

Alguna ayuda?

‭lipman

Como autor del post y de la entrada en el blog te cuento:

Mi objetivo no era que cualquiera pudiera hacer la simulación que yo hice, sino dar conciencia de la cierta peligrosidad que conlleva usar la misma combinación de usuario-contraseña al registrarse en un foro se podian grabar sus datos íntimos en texto plano (podria ser usado junto con la ingenieria inversa). Si quieres indagar también en eso, busca el porqué pasa eso y la solución, no en un foro de hacking ni de exploits, sino en uno de programación web e investiga acerca de MySQL.

Por otra parte, te digo que tal como escribí en el post, a mi me funcionó bien, y no tuve problemas, simplemente preocupate de cambiar el contenido de lo que intentas meter, igual el problema radica en la creación de la tabla, así que cambia cosas y toquetea.

Por otra parte, para la próxima vez, en vez de revivir un post, preguntar en los comentarios del blog.

Un saludo =)

PanConMantequilla

ya que revivieron el post y lei el contenido... noto ques esto no es ninguna INseguridad en SMF, esta bien claro que cualquiera podria modificar/agregar el codigo fuente de SMF para que haga lo que le plazca en cada acción del usuario/visitante, nisiquiera tengo que leer el tutorial para comprobar que es posible hacerlo, porque la idea desde ya es 100% posible de multiples formas, y es muy generico el titulo del post haciendo alusión a SMF, de forma similar se puede hacer lo mismo a wordpress, joomla, drupal (por eso se llaman Open Source)... hasta a cualquier framework desde codigniter hasta symphony, entendiendo esto... aqui no hay ninguna inseguridad mas bien una acción malevola del mismo dueño del sitio y abuso de confianza hacia sus usuarios, y si otra persona tiene acceso a la DB ?? estarias con la soga al cuello

‭lipman

Relee mi post anterior para recordar cual era el objetivo de la creación de este post.

Por otra parte en particular, el objetivo ha sido siempre el de analizar el funcionamiento y tal, y te puedo asegurar que he analizado más paquetes de foros preconstruidos (phpbb sin ir mas lejos) y el cuidado que tiene con la contraseña este último es infinitamente superior al de SMF.

SMF simplemente hashea una contraseña a partir del user y password como puse, sin embargo PHPBB va más allá, de hecho, os animo a que veais el códifo fuente.

El hash de SMF se puede crackear facilmente buscando colisiones, ya que el nombre de usuario es público y el otro parámetro es la contraseña, la cual atacando por fuerza bruta (a partir del hash de la base de datos) se podría sacar "facilmente".

Y si, realmente cualquiera que tenga acceso a la base de datos y a los scripts, y sepa, puede sacar la contraseña de cualquier sistema de registro-logueo.

Un saludo