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

Python: Insertar campos desde Mysql

Antes ya he hecho una entrada sobre Conexion entre Mysql-Python pues bien ahora veremos como insertar campos a una tabla desde consola, básicamente se crea el arhivo de la misma forma que en el ejemplo anterior, aquí anexo el código:

import MySQLdb
code =raw_input("Id:")
name=raw_input("Nombre:")
db=MySQLdb.connect(host='localhost',user='root',passwd='root',db='usuariospy')
cursor=db.cursor()
sql='INSERT INTO usuarios VALUES("%s","%s")'%(code,name)
cursor.execute(sql)

En el anterior código se ve claramente como primero importamos la librería Mysql que nos ayuda con la conexion a la base de datos, seguido de esto pedimos dos datos y los almacenamos en variables para después abrir la conexion con la base e insertar los datos ingresados por el usuario; como pueden ver algo muy sencillo pero útil.
Espero les sirva puede ver como configurar y ejecutar su primer conexion entre python y msql en mi entrada de acá.


Puedes ve…

Como proteger mi blackberry

Blackberry Protect Sin más introducción a mi ya me han asaltado dos veces, y uno ya no está seguro en ningún lado, las veces anteriores como hubiera deseado haberle quitado la tarjeta de memoria a mi celular para que no vieran mis fotos y demás información, en fin. Ahora con los smart phone uno guarda cada vez más información y más importante. Pues la solución para este tipo de problemas es Blackberry Protect, el cual puedes descargar desde el siguiente link. http://us.blackberry.com/apps-software/protect/
Con blackberry protect podrás:
* Hacer respaldos. * Subir el volume de tu blackberry cuando este perdido, aunque lo tengas en silencio. * Bloquearlo. * Saber su ubicación en caso de robo. * Entre otras aplicaciones y todo esto remotamente. * Por cierto se me olvidaba, podrás borrar toda la información remotamente si asi lo deseas. * No es que yo tenga ya delirio de persecución, pero con BB Protect, me siento más seguro en las calles. * Aunque comprarle un seguro a tu smart phone no está de má…

Python: Ejemplo como conectarse a mysql y realizar una consulta.

Ayer platicaba con Luis sobre lenguajes de programación y el me comentaba que estaba desarrollando una aplicación en python para un trabajo de su residencia (practicas) y me pareció interesante ver que era eso, que es python según wikipedia es: Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible...(mas).  Pues bien decidí ver como era la sintaxis de python al conectarse con mysql, primero mostrare que se necesita para programar en consola desde Linux Debian Squeeze, después crearemos una base de datos con una tabla de ejemplo que nos ayudara con el objetivo, seguido de la sintaxis del pequeño programa de conexion que realiza la consulta para después terminar con la compilacion y ejecución del mismo.
1.- Desde consola con permisos de super-usuario tecleamos lo siguiente: # apt-get install mysql-pythonLa cadena anterior es para instalarla libreria que nos ayuda a hacer el "puente" entre mysql…