Imagen de Izal Azcárate Mikel
El problema de ayer de LIR
de Izal Azcárate Mikel - jueves, 5 de noviembre de 2009, 11:57
 
Como ya se enteraron los que se quedaron a la segunda clase, el ejercicio hecho en clase de ayer tenia un fallo y no se podía resolver la pregunta dos.

El problema era que yo había modificado el programa para que tuviera la vulnerabilidad que permitía insertar mensajes con otro nombre pero aunque puse la modificación en el chat de la pagina web, en el enunciado que os pase salía una versión anterior del chat que no tenia el el fallo. Podéis ver aquí el programa que debería haber salido en la pregunta

http://mikel.tlm.unavarra.es/~mikel/lir09/chat2/index.php.txt

Ya siento el error, por el tiempo perdido... y porque hubiera querido ver si lo resolvíais o no :-)

Consecuentemente he corregido los problemas teniendo en cuenta esto y sin dar casi valor a la pregunta dos. Se puede sacar toda la nota sin ella y simplemente vale para sumar puntos a los que han explicado que se podrían hacer cosas con inyección mysql insertando una segunda query después de la primera.
(de todas maneras la pregunta dos iba a valer menos que la primera aunque se hubiera podido hacer pero habria valido algun punto mas)

Quitando eso hay un error repetido que se ha visto en vuestras respuestas. Tened cuidado y aseguraos de entender la sustitución de cadenas en PHP.
Esta instruccion que aparecia en el programa es correcta

$query=”select ∗ from users where user=’$input_u ’ and pass=’$input_p’ ”;

Pero si la cambiais por esta

$query=”select ∗ from users where user=’mysql_real_escape_string($input_u)’ and pass=’mysql_real_escape_string($input_p)’ ”;

No funciona... como comprobareis en el laboratorio
Las variables se sustituyen dentro de una cadena pero las llamadas a funciones no.

En cualquier caso eso ha hecho que el problema sea facil de corregir... asi que con eso se completan las notas por problemas en clase