Download - SQL Injection
![Page 1: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/1.jpg)
![Page 2: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/2.jpg)
NIVEL DE ATAQUE
Nivel de Sistema Nivel de Aplicacion
![Page 3: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/3.jpg)
![Page 4: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/4.jpg)
![Page 5: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/5.jpg)
INTRODUCCION
Las principales vulnerabilidades de este tipo de aplicaciones incluyen fallas de inyección de código o de archivos (SQL injection o system commands injection)
![Page 6: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/6.jpg)
Las Aplicaciones Web que son vulnerables a SQL injection pueden permitir que un a atacante obtenga acceso completo a su base de datos, este tipo de ataques se manifiesta en los sistemas de base de datos introduciendo sentencias SQL
![Page 7: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/7.jpg)
(inyección directa de comandos SQL o SQL injection) Técnica utilizada por personas maliciosas con el fin de alterar o atacar un sitio o servidor a través de comandos SQL.
Las inyecciones utilizan información de entrada del usuario combinado con comandos SQL para construir una consulta SQL maliciosa
![Page 8: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/8.jpg)
Con estas inyecciones se pueden obtener datos escondidos, eliminar o sobrescribir datos en la base de datos y hasta lograr ejecutar comandos peligrosos en la máquina donde está la base de datos.
![Page 9: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/9.jpg)
El objetivo de SQL Injection es introducir datos arbitrarios, mayormente en las consultas a la base de datos, Introduce una cadena que es finalmente ejecutada por la base de datos,
![Page 10: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/10.jpg)
![Page 11: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/11.jpg)
Tipos de SQL Injection Inyección Básica.
Conocimiento de la Base de Datos Realizar Consultas con una o mas
acciones La información de errores, herramienta
para realizar SQL Injection
![Page 12: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/12.jpg)
Nombres: Ju'; drop table authors--
Apellidos:
La consulta quedara asi:
EJEMPLO DE SQL INJECTION BASICO
![Page 13: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/13.jpg)
Inyección A través de Cookies:
La vulnerabilidad de la aplicacion Web esta cuando utiliza estos cookies para hacer consultas SQL.
Inyección a través de variables del Servidor:
El atacante puede falsificar estas variables y ponerla en el network header.
Inyección de Segundo Orden:
se introduce de manera indirecta un disparador a la base de datos
MECANISMOS DE INYECCION SQL
![Page 14: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/14.jpg)
Identificación de parámetros inyectables
Descubrir tipo y versión de la base de datos
Determinar el esquema de la base de datos
Extraer datos, etc…
INYECCIÓN A CIEGAS (BLIND INJECTION)
![Page 15: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/15.jpg)
Usuario: ' having 1=1--
This provokes the following error:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.id' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
/process_login.asp, line 35
FORMAS DE CONSEGUIR INFORMACIÓN DE LA BASE DE
DATOSDato Erróneo
Objetivo del Atacante
![Page 16: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/16.jpg)
Prepared Statements Magic Quotes MSQL Exception mysql_real_escape_string Permisos
METODOS PARA EVITAR LA
INYECCIÓN SQL
![Page 17: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/17.jpg)
No todas las bases de datos ofrecen esta caracteristica
Evita la ejecucion multiple de ordenes(consultas)
Tambien separan los datos de la consulta
separan la sentencia SQL de los datos que vamos a usar.
PREPARED STATEMENTS
![Page 18: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/18.jpg)
MSQL Exception.- function no permite realizar consultas múltiples en una sola llamada
Magic Quotes.- magic_quotes_gpc, provee de una protección rudimentaria, si está habilitado, magic_quotes_gpc o magiq Quotes inserta un barra (backSlash) delante de una comilla simple
MÉTODOS PARA EVITAR SQL INJECTION
![Page 19: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/19.jpg)
mysql_real_escape_string:
Evita todos los caracteres especiales del parámetro $name argumento, teniendo en cuenta el juego de caracteres usado en la conexión, de forma que sea segura usarla con Mysql_query.
Permisos.- el usuario que accede a la base de datos usado por la aplicación web tiene solamente los permisos mínimos
Un administrador desactiva SHOW_ERRORS y SHOW_WARNINGS para evitar mostrar información
INYECCIÓN SQL EN MYSQL
![Page 20: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/20.jpg)
SQLMap
Sistemas Multiagentes
SQLMap
Amnesia
HERRAMIENTAS DE DETECCION AUTOMATICA
![Page 21: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/21.jpg)
SISTEMA MULTIAGENTE ORIENTADA A LA DETECCIÓN DE
ATAQUES BASADOS EN INYECCIÓN SQL.
![Page 22: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/22.jpg)
Con esta herramienta se puede ejecutar comandos arbitrarios en el sistema operativo, y muchas tareas más.
O todo el volcado de las tablas/columnas, especifica el dbms, ejecuta su propio SQL SELECT, leer archivos específicos en el sistema de archivos y mucho mas.
SQLMAP
![Page 23: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/23.jpg)
Desarrollado por la empresa NOSEC
Automatiza el análisis de seguridad, detección y ejecución de Inyección SQL.
Tiene una versión gratuita y una versión de paga.
PANGLIN
![Page 24: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/24.jpg)
Investigadores del sitio de seguridad WEBSENSE detectaron un masivo ataque de tipo Inyeccion SQL
A mas de 380000 url’s y han bautizado este ataque con el nombre LizaMoon
![Page 25: SQL Injection](https://reader036.vdocuments.co/reader036/viewer/2022062300/5572020b4979599169a2dca0/html5/thumbnails/25.jpg)
Los Ataques por SQL Injection son realmente peligrosos, no únicamente por la capacidad de daño que conllevan, sino porque son vulnerabilidades que muchos programadores no corrigen a tiempo (ni se preocupan, a posteriori, de hacerlo).
"LA SEGURIDAD INFORMÁTICA NO ES UN PRODUCTO SINO UN PROCESO"
CONCLUSIONES/RECOMENDACIONES