Seguridad sql injection

Preview:

DESCRIPTION

Definición de SQL injection 7 y cómo identificar algunas formas de SQL Injection. Así mismo algunos objetos que pueden llevar a que nuestro web site sea vulnerado.

Citation preview

SQL InjectionElaborado por:

Gary Briceño

Introducción

• Una de las mayores vulnerabilidades de los sistemas

• Se puede exponer información sensible

¿Qué es SQL Injection?

• Es una vulnerabilidad al sistema

• Resultado de permitir el ingreso de SQL desde una aplicación a la base de datos

• No es exclusivo de aplicaciones web• Afecta a cualquier sistema que permita ingreso de

información

• Si se tiene la posibilidad de modificar la sentencia SQL, puede ser victima de SQL Injection

Ejemplo 1

Ejemplo 1

Ejemplo 2

Ejemplo 2

No lo intente en casa!!

• http://www.legislation.gov.uk/ukpga/1990/18/contents

• http://www.legislation.gov.uk/ukpga/2006/48/contents

Top 25 de Vulnerabilidad

• SQL Injection se encuentra en el top de la lista de vulnerabilidad

• http://cwe.mitre.org/top25/index.html

Buscando SQL Injection

Método GET

Envío de información con el método GET

Método POST

Envío de información con el método POST

Plugin: SQL Inject Me

https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me/

Uso de Proxy

• Se puede utilizar un proxy para prevenir la inserción de SQL• Ejemplo de proxy:

• Paros Proxy

• WebScarab

• Burp Suite

Otros objetos vulnerables

• Los Cookies, enviados al browser y luego devueltos al servidor en cada request.• Usualmente utilizados para autenticación, control de

sesiones y mantener información del usuario, como las preferencias en el website.

• Host Referer, que específica el host y el puerto del servidor.

• Referer, específica el recurso de donde el recurso fue obtenido.

• User-Agent, específica el navegador utilizado

Manipulación de parametros

Se tiene:http://www.victim.com/showproducts.php?category=attacker

Respuesta:Warning: mysql_fetch_assoc(): supplied argument is not a validMySQL result resource in var/www/victim.com/showproducts.php on line 34

Indica:La aplicación remota no esta administrando en forma correcta los errores de SQL Injection

Anexo