RED TEAM
  • Presentación
  • Apuntes Linux
  • Apuntes Blue Team
  • Apuntes Python
  • Ricardev github
  • RECON
    • OSINT
    • DESCUBRIENDO LA RED
      • NMAP NSE
    • SNIFFING
      • TCPDUMP
  • TECHNIQUES
    • FUERZA BRUTA
      • HYDRA
      • MEDUSA
      • JOHN THE RIPPER
      • NCRACK
      • RAINBOW TABLES
      • CHEATSHEET
    • CLAVES RSA DÉBILES
  • WEB HACKING
    • FUZZING
      • GOBUSTER
      • WFUZZ
      • OTRAS HERRAMIENTAS DE RECONOCIMIENTO WEB
    • OWASP TOP 10
      • A1-2017. SQL INJECTION
        • LOGIN FORM BYPASS
        • EXTRACCIÓN DE INFORMACIÓN.
        • SQLI MODIFIED HEADERS
        • BOOLEAN BLIND SQLI
        • TIME-BASED BLIND SQLI
        • AUTOMATIC INJECTION
      • A2-2017. ATAQUES A SISTEMAS DE AUTENTICACIÓN
      • A3-2017 - EXPOSICIÓN DE DATOS SENSIBLES
      • A4-2017. XXE
      • A5-2017. CONTROL DE ACCESO VULNERABLE
      • A6-2017. SEGURIDAD MAL CONFIGURADA
      • A7-2017. XSS
      • A8-2017. DESERIALIZACIÓN INSEGURA
      • A9-2017. USO DE COMPONENTES CON VULNERABILIDADES CONOCIDAS
      • A10-2017. REGISTRO Y MONITOREO INSUFICIENTE
    • SERVICIOS WEB
      • APACHE TOMCAT (RCE)
      • PRTG NETWORK MONITOR (RCE)
  • SERVICES HACKING (BOTH)
    • 20,21 - FTP
      • FTP BOUNCE ATTACK - ESCANEO
      • FTP BOUNCE ATTACK- DESCARGA DE OTRA FTP
    • 23 - TELNET
    • 25, 465 587 - SMTP
    • 111, 2049 - RPCBIND Y NFS
    • 161,162,10161,10162/udp - SNMP
      • SNMP (RCE Linux)
    • 445 - SMB
      • ETERNALBLUE
    • 3306 - MYSQL
  • SERVICES HACKING (LINUX)
    • 3632 - DISTCCD
  • SERVICES HACKING (WINDOWS)
    • 135, 539 - MSRPC
    • 389, 636 - LDAP / LDAPS
    • 1443 - MSSQL
  • ACTIVE DIRECTORY HACKING
    • CREANDO UN LABORATORIO DE AD
      • 1. Instalación de Windows Server 2016
      • 2. ROL DE ACTIVE DIRECTORY
      • 3. MALAS PRÁCTICAS NECESARIAS
    • CONCEPTOS
      • SPN Y KERBEROS
    • ENUMERACIÓN
      • BLOODHOUND
    • ATAQUES
      • SMB RELAY
      • NTLM RELAY
      • KERBEROASTING
      • AS_REP ROASTING
  • PRIVESC
    • WINDOWS
    • LINUX
      • LXD/LXC GROUP
  • EXFILTRACIÓN
    • EXFILTRANDO INFORMACIÓN
  • SHELL AND POWERSHELL TRICKS
    • Transfiriendo datos (traducir)
    • MEJORANDO SHELL A TTY INTERACTIVA (Traducir)
  • PWN LINUX
    • CREANDO UN LABORATORIO SIN MITIGACIONES
    • TEORÍA
      • ESTRUCTURA DE UN BINARIO DE LINUX
        • HERRAMIENTAS
      • ENSAMBLADOR
      • CONVENCIÓN DE LLAMADAS
      • MITIGACIONES
      • SYSCALL Y SHELLCODE
      • FORMAT STRING
      • RETURN-ORIENTED PROGRAMMING
        • GADGETS
    • ESTRATEGIAS DE EXPLOIT
      • STACK EXPLOITS
        • ATAQUE “SMASH THE STACK” SENCILLO
        • ATAQUE RET2WIN
        • ATAQUE RET2SHELLCODE
        • ATAQUE FORMAT STRING RET2SHELLCODE 2 BYTES
        • ATAQUE FORMAT STRING RET2SHELLCODE 4 BYTES
        • CANARY BYPASS
        • ATAQUE RET2LIBC
    • PRÁCTICA
      • PHOENIX
        • SETUP
        • STACK-ZERO amd64
        • STACK-ONE amd64
        • STACK-TWO amd64
        • STACK-THREE amd64
        • STACK-FOUR amd64
        • STACK-FIVE amd64
        • STACK-SIX amd64
        • FORMAT-ZERO amd64
Con tecnología de GitBook
En esta página
  • QUE ES SQL
  • SQL INJECTION
  • Metodos de inyección
  • Como identificar vulnerabilidades SQLi

¿Te fue útil?

  1. WEB HACKING
  2. OWASP TOP 10

A1-2017. SQL INJECTION

SQL Injection está reconocido como la 1ª vulnerabilidad Web más importante según OWASP. Aquí aprenderemos qué es, como funciona y como explotarlo.

QUE ES SQL

Structured Query Language. Lenguaje de consultas estructuradas

Es un lenguaje que permite especificar mediante consultas diversos tipos de operaciones en un gestor de base de datos. Estas operaciones pueden ser:

  • Crear

  • Modificar

  • Eliminar

  • Incluir

  • etc...

Los Gestores de Bases de datos mas conocidos son:

  • MariaDB

  • SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

  • etc...

SQL INJECTION

Es una vulnerabilidad que permite la inyeccion de codigo SQL mediante la entrada de datos provenientes del lado del cliente hacia el servidor.

Esto permite alterar el funcionamiento normal del programa y lograr que se ejecute el codigo inyectado.

Se puede hacer todo lo que permite hacer el lenguaje SQL : Consultar, Eliminar, Modificar e incluir informacion en la base de datos.

Existen varios tipos:

  • INYECCION SQL IN-BAND → injeccion SQL Clasico.

    • Inyeccion SQL Basada en Error

    • Inyeccion SQL Basada en Uniones

  • INYECCION SQL INFERENCIAL → Blind SQL Injection (SQLi ciega).

    • Inyeccion SQL Basada en Booleanos

    • Inyeccion SQL Basada en Tiempo

  • INYECCION SQL OUT-OF-BAND → Envio de peticiones a un servidor controlado por el atacante.

Metodos de inyección

  • Entrada de valores enteros en URL

  • Entrada de valores de cadena en URL

  • Entrada de datos en formularios

    • Entrada de dato libre

    • Dropdown Box

  • Entrada de datos mediante cabeceras modificadas

    • Cookies

    • User-Agent

Como identificar vulnerabilidades SQLi

Para empezar, debo encontrar un elemento de la pagina web que obtenga informacion de una base de datos, ya sea un formulario o un parámetro de una URL (normalmente los parámetros tienen la forma url?dato=valor).

Una vez lo he encontrado, la forma mas sencilla de comprobar si es vulnerable o no es modificando el valor de busqueda por una comilla simple ('). De esta manera, obtendremos un error de sintaxis de SQL que no solo confirmara que nos encontramos ante una vulnerabilidad sino que ademas nos indicara el Gestor de Base de Datos que se esta utilizando.

You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near ''''' at line 1
AnteriorOWASP TOP 10SiguienteLOGIN FORM BYPASS

Última actualización hace 3 años

¿Te fue útil?