ESCUELA DE INGENIERA DE SISTEMAS INFORMTICOS Ciclo I 2014 LABORATORIO # 2 EJERCICIOS INYECCIONES SQL 1. Encontrar un sitio web vulnerable y llevar el link al laboratorio. NOTA: Como encontrar webs vulnerables: Muy simple nos vamos a google y ponemos una dorck : Que es una dorck? = Es un cdigo que explora a google y le ordena a los formularios de bsqueda de google dicindole: solo cpialos y pgala en google y veras que saltaran unas webs vulnerables. Ejemplos de dorck: allinurl:*.php?txtCodiInfo= inurl:read.php?= inurl:"ViewerFrame?Mode=" inurl:index.php?id= inurl:trainers.php?id= ok ahora ya que tenemos nuestra web vulnerable: http://www.muninuevochimbote.gob.pe/noticias_vermas.php?p=120 ok para sacarle el error quitamos el 120 y ponemos la comilla as: http://www.muninuevochimbote.gob.pe/noticias_vermas.php?p=' y nos dar un error similar al siguiente: Warnig: MySQL_fre erro cheat on line (5) /home/public_html/php on line 35 etc... Si nos da el siguiente error: ERROR 404 el sitio no es vulnerable buscamos otro sitio
2. Inyectar el siguiente cdigo y poner su resultado. NOTA: Para los ejercicios siguientes tienen que cambiar el link por su link del sitio que encontraron vulnerables, lo que tiene que cambiar es lo sombreado en color aqua. LA HACEMOS INYECTANDO la siguiente instruccin sql: -1+UNION+ALL+SELECT+0,1-- Lo aplicamos en el sitio de la siguiente forma: www.muninuevochimbote.gob.pe/noticias_vermas.php?p=-1+UNION+ALL+SELECT+0,1-- SI NOS ARROJO UN NUMERO ASTA ESE MOMENTO TENEMOS SUERTE PUES SI NO NO OK SEGUIMOS INYECTANDO:
Este query se tiene que ir validando hasta que aparezca el valor correcto. PUES SI A TI NO TE SALE DALE ASTA EL 15 20 O 30 AVECES OK BUENO YA QUE TENEMOS ESE NUMERO "2" LO QUE AREMOS ES INYECTAR AL 2 DE NUESTRA PETICIN : 0,1,2,3,4-- PUES LO QUE HACEMOS ES REMPLAZAR EL 2 POR: TABLE_NAME
YA QUE FUE ESE NUMERO EL QUE NOS ARROJO SI NOS ARROJO UN 4 Y UN 3 O 2 PUES PROBAMOS EN UN NUMERO EN ESTE CASO ME ARROJO UN SOLO NUMERO LLAMADO "2" OK LO QUE HACEMOS ES REMPLAZAR:
3. Resuelva los siguientes ejercicios. 3.1-Determinar si el siguiente cdigo tiene vulnerabilidades si tiene detallarlas y corregir el cdigo.
3.2- En el siguiente cdigo: <?php /* Verificamos en la base de datos el usuario y la contrasea para ingresar al portal.*/ $consulta = "SELECT * FROM usuarios WHERE usuario='{$_POST['usuario']}' AND password='{$_POST['password']}'"; mysql_query($consulta); ?> Qu pasa si no revisamos la cadena de texto que viene por POST, contienen el siguiente texto: <?php $_POST['usuario'] = 'pepe'; $_POST['password'] = "' OR ''='"; ?> Escriba la sentencia SQL resultante con la que el sistema validara el inicio de sesin y determine la vulnerabilidad del query si acaso hubiera, posteriormente poner el cdigo que supera la falla encontrada.