Ataque SQL y ejemplos PHP By shadinessdark

Iniciado por dracko.rx, Febrero 24, 2010, 02:26:18 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

¿Qué es la injection SQL?

Bueno digamos que es un truco para inyectar comandos SQL en un sitio Web
OH hacer una consulta como un insumo, Principalmente el atacante la hace en la
Forma de método GET – POST  la mayoría de los sitios de parámetros hace una Consulta SQL en la base de datos digamos que tenemos una pagina de detalles
Con un producto en PHP que toma un parámetro product_id de un método GET 
Y obtiene el detalle de la base de datos una consulta SQL con el ataque de Injection SQL, Un atacante puede enviar una consulta SQL diseñada desde la dirección URL, De
La pagina de detalles del producto se recuerdan el product_id bueno la consulta la hace
Desde hay con eso podría hacer mucho daño a la base de datos, Podría incluso eliminar la tabla de base de datos...

Para saber mas sobre SQL pueden acceder a No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

¿Método de ataque SQL injection en PHP?

Casi siempre la consulta habitual de sesión de un usuario en php es:

Código: php
$ sql = "SELECT * FROM tbl_user WHERE username ='".$_ POST [ '']."' Aquí el nombre de usuario y la contraseña='".$_ POST [' password']."'"; 
$result=mysql_query($sql); $ resultado = mysql_query ($sql);


Bueno muchos de UDS.
Piensan que el usuario solo puede iniciar sesión validad en el interior del servidor pero eso seria True.Well nadie podría acceder a la pagina con un simple truco vamos a suponer que yo soy el Atacante me llamo ShadinessDark inyecto X 'o' x '=' x en el campo de nombre y usuario y En el campo de contraseña entonces lo final seria asi:

Código: php
X '=' x 'y password =' x tbl_user SELECT * FROM WHERE username = 'x' o 'o' x '=' x '; 


Como se puede veer la consulta la acepta Como cierto   y nos devuelve la fila de la base de datos como resultado, el atacante puede iniciar sesión en el sistema como root...

En el ataque de SQL un atacante puede incluso caer  de una tabla de base de datos claro si el usuario tiene Permiso DROP en la base de datos...

Un ejemplo de consulta de una pagina con detalle de producto:

$ sql = "SELECT * FROM producto WHERE id_producto ='".$_ GET [ 'id_producto']."'";

Ahora el atacante inyecta comandos SQL en la URL de la pagina el código podría ser Así 11 ';  del DROP TABLE producto; # se vería algo así:

Código: php
http://xD.com/producto.php?id=11 '; Producto ; #


Ahora la consulta se convertiría en la siguiente forma:

Código: php
SELECT * FROM productos WHERE id_producto = '11 '; Producto ; #';


Muchos se preguntan que hace el '#' ya que en lenguajes como perl es solamente un Simple comentario esta consulta '#' simplemente ignora las comillas simple pasadas (') de la consulta...

Ósea ignora el resto de las No tienes permitido ver los links. Registrarse o Entrar a mi cuenta...

By ShadinessDark
Dedicación: BugDox
Team: V1rtu@l VIRu$ Bl@ck Team
Venta de diseños - Contactar por MP

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta