Ir al contenido principal

SQL Inyección con PHP. PARTE II

Continuando con lo anterior en el que vimos una pequeña introducción a la Inyección SQL, creo que para mostrar la inyección sql es mejor si nos hacemos un ejemplo practico verdad, pues bien manos a la obra.

Mi ejemplo practico esta hecho en:
SO: Linux Debian Squeeze
Mysql:  5.1
PHP: 5.3
Apache
Editor PHP Bluefish
Navegador Chromium




Crearemos una base de datos inyección de esta manera:
mysql> create database inyeccion;
Usamos nuestra base de datos:
mysql>use inyeccion
Creamos una tabla usuario con 4 campos, id, login , password, email
mysql>create table usuario(id int primary key auto_increment, login varchar(30), password(50), email varchar(50));
Agregamos datos a la tabla:
Insert into usuario values(null,"Hiram","passw_hiram","email_hiram"),
(null,"Edgar","passw_edgar","email_edgar"),
(null,"Luis","passw_luis","email_luis"),
(null,"Isai","passw_isai","email_isai");
Ahora ya tenemos nuestra base de datos, lo que prosigue es hacer un script en php para hacer nuestras pruebas, abrimos nuestro editor php, yo les recomiendo esté, o usen el que mas les acomode o guste.

El script php se llamara inyecciones.php, contendrá un campo de texto(input) para poder hacer nuestros ejemplos de inyecciones, y un botón para enviar el valor.

<html>
<head>
  <title>SQL Injection</title>
</head>
<body>

  <form action="inyecciones.php" method="get">
     <label for="id">ID: </label>
     <input type="text" id="id" name="id" />
     <input type="submit" value="Iniciar" />
  </form>

<?php
if( isset($_GET['id']) )
{
  $id    = $_GET['id'];

  $mysqli = new mysqli('localhost', 'root', '');

  $mysqli->select_db('inyeccion');

  $consulta = 'SELECT * FROM usuario WHERE id='.$id;

  echo $consulta.'<br />';

  $resultado = $mysqli->query($consulta);

  $usuario = $resultado->fetch_row();
  echo 'DATOS DEL USUARIO: <br />';
  echo 'ID: '.$usuario[0].'<br />';
  echo 'LOGIN: '.$usuario[1].'<br />';
  echo 'EMAIL: '.$usuario[3].'<br />';

  $resultado->free();

  $mysqli->close();
}
?>
</body>
</html>

Seguido de esto ejecutamos el script en el navegador, se mostrara de esta forma:


Podemos jugar un poco con el formulario ingresando el id que queremos buscar, en la próxima entrada empezaremos a "inyectar" código sql, así que tienen tiempo de hacer la base y el script anterior para empezar a probar el ejemplo.

Comentarios

Entradas populares de este blog

SQL Inyección con PHP. PARTE I

Hoy estaba testeando una aplicación que estoy desarrollando; ya saben, la típica que la interfaz esta hecha para todo menos para que el usuario de click en donde nunca jamas debe de dar click simplemente por que no es obvio no es razonable no es intuitivo, pero el usuario hace el click y truena el sistema, la verdad esto es molesto pero muy necesario hacer este tipo de pruebas para que cuando liberes tu aplicacion tenga lo menos posible de errores o caídas,. Este fin de semana platique con mi cuñada y le mostré mi aplicación le pedi de favor que interactuara con ella y al cabo de tiempo me dice "que pasa si en lugar de guardar todos dejo este sin seleccionar" increíblemente no había pensado en eso, estaba tan preocupado por otros aspectos que no había colocado una validación en los campos de un formulario; seguido de esto me fui a mi casa y estuve pensando que así como deje de hacer esa validacion sencilla de campos deberían de existir mas bugs en mi aplicacion, de esta form...

Como instalar la app world en mi Blackberry

Instalación de la app world en mi blackberry Hola amigos, ahora con el auge de los blackberry tengo muchos amigos que me preguntan de donde saco tantas aplicaciones, pues ellos no saben de donde. Lo que no saben es que existe una aplicación que se llama appworld, en donde hay aplicaciones tanto de paga como gratuitas. Pues lo único que hay que hacer son los siguientes pasos. Si tienes un plan de datos: 1.- Abrir el explorador desde tu Blackberry 2.-Ir a la siguiente dirección appworld http://us.blackberry.com/apps-software/appworld 3.- En la página hay un botón que dice Download it today . Una vez que inicie la descarga tu dale que si a todo. 4.- Para ingresar a la appworld sólo tienes que buscar un icono como este desde el menú de tu Blackberry y listo. Ahora podrás disfritar de miles de aplicaciones gratuitas de la appworld

Windows 7 Ahora si el definitivo?

Windows 7 Ahora si el definitivo que quitara de las preferencias a WinXP Lo primero para abrir este blog es comentar mi experiencia con la instalacion de windows 7 Ultimate. Les paso las caracteristicas de mi computadora personal: Compaq C318LA RAM 1.25 GB Disco Duro 80GB Procesador Intel Centrino 1.86GHz Como pueden observar mi computadora es un poco vieja la verdad tengo con ella un poco mas de 3 años y a continuación muestro mi experiencia instalando Windows 7. Al momento de bootear desde mi unidad de disco, entro bien sin ningun problema prosegui a darle formato a mi disco duro para despues instalar el sistema, todo corrio con normalidad al finalizar la instalacion se reinicio por primera ves. Ya iniciada me lleve una muy grata sorpresa, por primera ves un SO Windows no me habia pedido drivers de nada!!!!!, el sonido, modem, video todo funcionando desde el principio despues prosegui a explorar mi nuevo SO. La verdad el cambio de Windows XP a Windows 7 (Seven) Ultimate, a sido muy g...