Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.
Autor
|
Tema: (In)seguridad en los foros [SMF] (Leído 6,951 veces)
|
|
madpitbull_99
|
La fuente se suele poner cuando un post no es tuyo y asi citar la fuente, pero ya que lo has publicado tu se da a entender que lo has escrito tu ...
|
|
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 954
|
Fíjate, que hago 2 cosas: -La primera, creo en la base de datos una fila nueva (para meter ahí la contraseña sin cifrar) -La segunda, hago que se guarde (junto con la contraseña cifrada) la contraseña sin cifrar.
Si no hiciera esto, tendría que cambiar el método que usa SMF para loguearse también, y esto es más complicado (pero se podría hacer)
Si exacto, tendrias que cambiar el metodo que usa SMF para loguearse pero por algo las contraseñas se guardan cifradas en la DB, porque pueda ser que alguien copie la DB y luego la este vendiendo xD... Eso es solo una medida de seguridad, no hay nada malo en eso....
|
|
|
|
|
En línea
|
|
|
|
kisk
Desconectado
Mensajes: 47
|
$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"); Eso se ve como una bonita inyeccion sql  xD
|
|
|
|
|
En línea
|
La vieja escuela me da nostalgia la nueva me da naucias dime cual es la escuela si ambas me deprimen (8)
|
|
|
jdc
Desconectado
Mensajes: 3.253
janito dos cuatro...
|
Que se guardará en un campo y jamás se mostrará xD
|
|
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 889
Imagen recursiva
|
Que se guardará en un campo y jamás se mostrará xD
Si con eso quieres decir que no es explotable estás equivocado. Si $contrasenha contiene "blablabla' , password=md5('hola') WHERE memberName='admin' --" le puedes reventar.
|
|
|
|
|
En línea
|
|
|
|
jdc
Desconectado
Mensajes: 3.253
janito dos cuatro...
|
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.
|
|
|
|
|
En línea
|
|
|
|
jdc
Desconectado
Mensajes: 3.253
janito dos cuatro...
|
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
|
|
|
|
|
En línea
|
|
|
|
evillcs
Desconectado
Mensajes: 26
|
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?
|
|
|
|
|
En línea
|
|
|
|
|
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 =)
|
|
|
|
|
En línea
|
|
|
|
PanConMantequilla
Desconectado
Mensajes: 82
|
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
|
|
|
|
|
En línea
|
|
|
|
|
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
|
|
|
|
|
En línea
|
|
|
|
|
|