¿Que es el SQL Injection?

editado November 11 en Web

¿Que es el SQL Injection?

En este articulo les enseñare en que consiste una inyección de SQL.

=====================================================

............................................ ¿Qué es SQL? ........................................

=====================================================

Structured Query Language (Lenguaje de Consultas Estructuradas) :

SQL es un lenguaje que permite realizar consultas para efectuar diversos tipos de operaciones a un gestor de base de datos.

Operaciones como: Crear, Modificar, Eliminar, Añadir información en una base de datos.

Lista de Gestores de Bases de Datos:

  • MariaDB - Fork de MySQL
  • MySQL
  • MsSQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Ingres
  • DB2
  • Informix

=====================================================

....................... ¿Que es Una Inyección de SQL? ..................

=====================================================

La Inyección SQL es una vulnerabilidad que permite la inyección de código SQL ilegal en el Back-End de una aplicación mediante una entrada de datos por parte del Front-End.

Esta Inyección proveniente del Front-End (Cliente) permite alterar el funcionamiento correcto de la aplicación permitiendo que el código inyectado sea interpretado y ejecutado por el gestor de base de datos.

Cuando un pentester logra inyectar consultas a una base de datos es posible hacer las siguientes acciones:

  • Crear Nuevas Bases de Datos
  • Crear Nuevas Tablas en las Bases de Datos Existentes
  • Crear Nuevas Columnas en las Tablas Existentes
  • Crear Nuevos Registros en las Columnas Existentes
  • Eliminar Bases de Datos Existentes
  • Eliminar Tablas Existentes
  • Eliminar Columnas Existentes
  • Eliminar Registros en las Columnas Existentes
  • Modificar Registros en las Columnas Existentes
  • Extraer los Registros de todas las Bases de Datos Existentes

=====================================================

...................... Historia de las Inyecciones SQL ................

=====================================================

La Vulnerabilidad fue probablemente documentada por primera vez en 1998 por Jeff Forristal. La cual afectaba a Microsoft SQL Server

  • Sexta Vulnerabilidad más Común - Owasp Top 10 2003
  • Segunda Vulnerabilidad más Común - Owasp Top 10 2007
  • Primera Vulnerabilidad más Común - Owasp Top 10 2010
  • Primera Vulnerabilidad más Común - Owasp Top 10 2013
  • Primera Vulnerabilidad más Común - Owasp Top 10 2016

=====================================================

........................ Tipos de Inyecciones SQL .......................

=====================================================

Inyección SQL In-Band (SQL Injection Clásico)

  • Inyeccion SQL Basado en Error (Error-Based)
  • Inyección SQL Basado en Uniones (Union-Based)

Inyección SQL Inferencial (Blind SQL Injection)

  • Inyección SQL Basado en Booleanos (Boolean-Based)
  • Inyección SQL Basado en Tiempo (Time-Based)

Inyección SQL Out-Of-Band

  • Envío de peticiones a un servidor controlado por atacante

=====================================================

............................. Metodos de Inyeccion ..........................

=====================================================

Entrada de Datos Por Método GET

  1. Inyectando las consultas en un Formulario
  2. Inyectando las consultas en el URL

Entrada de Datos Por Método POST

  1. Inyectando las Consultas en un Formulario
  2. Inyectando las Consultas Re-Enviando Peticiones Modificadas con un Interceptor de Cabeceras

Entrada de Datos Por Las Cabeceras HTTP Modificadas

  1. Inyectando las Consultas Mediante las Cookies
  2. Inyectando las Consultas Mediante el User-Agent
  3. Inyectando las Consultas Mediante X-Forwarded-For

=====================================================

................................... Tipo de Inyección ............................

=====================================================

  • STRING

Se Utiliza la Comilla Simple Para Inyectar

  • INTEGER

No Se Utiliza la Comilla Simple Para Inyectar en su Lugar se Utiliza un Valor Entero y la Query a Continuación

=====================================================

|Scanners Que Identifican las Inyecciones SQL |

=====================================================

  1. Arachi - 100% Porcentaje de Detección
  2. Sqlmap - 97% Porcentaje de Detección
  3. IBM AppScan - 93.38% Porcentaje de Detección
  4. Acunetix WVS - 89.71 Porcentaje de Detección
  5. NTOSpider - 85.29% Porcentaje de Detección
  6. Nessus - 82.35% Porcentaje de Detección
  7. Webinspect - 75.74% Porcentaje de Detección
  8. Burp Suite Pro - 72.06% Porcentaje de Detección
  9. Cenzic Pro - 63.24 % Porcentaje de Detección
  10. SkipFish - 50.74% Porcentaje de Detección
  11. Wapiti - 100% Porcentaje de Detección
  12. Netsparker - 98% Porcentaje de Detección
  13. Paros Pro - 93.38 Porcentaje de Detección
  14. Owasp Zap - 77.21 Porcentaje de Detección

=====================================================

....................... URLs & Recursos de Referencia .................

=====================================================

Tipos de SQL Injection

SQL Injection Cheat Sheet

OWASP SQL Injection

Video Curso de SQL Injection

=====================================================

......................................... CONTACTAME ...........................

=====================================================

CANAL DE YOUTUBE

CUENTA DE FACEBOOK

PAGINA DE FACEBOOK

CUENTA DE TWITTER

CORREO ELECTRÓNICO: [email protected]

SITIO WEB

Accede o Regístrate para comentar.