Metodología OWASP (Open Web Application Security Project)

🛡️ Metodología OWASP (Open Web Application Security Project)

OWASP es una organización sin ánimo de lucro que se dedica a mejorar la seguridad del software. Sus proyectos incluyen metodologías, herramientas y recursos clave que son referencia global para la seguridad de aplicaciones web. Una de las metodologías más destacadas es el OWASP Testing Guide, esencial para realizar pruebas de seguridad web.


📋 Etapas de OWASP Testing Guide

  1. Information Gathering (Recopilación de Información) 📂

    • Objetivo: Obtener información sobre la aplicación, infraestructura, dominios, subdominios, etc.

    • Herramientas:

      • whois: Para información sobre dominios.

        whois example.com
        
      • nmap: Para escanear puertos abiertos.

        nmap -sC -sV -oN scan.txt example.com
        
      • Extensiones como Wappalyzer para detectar tecnologías.

  2. Configuration and Deployment Management Testing 🔧

    • Objetivo: Verificar configuraciones inseguras.

    • Checks principales:

      • Versiones de software expuestas.

      • Archivos sensibles accesibles como .git o config.php.

      curl -X GET "<https://example.com/.git/>"
      
    • Herramientas: Nikto, Burp Suite.

    • Documentación:OWASP Config Testing

  3. Identity Management Testing 🆔

    • Objetivo: Identificar fallas en la gestión de autenticación.

    • Pruebas comunes:

      • Bypass de login (SQL Injection, fuerza bruta).

      ' OR '1'='1' --
      
      • Pruebas con herramientas como Hydra:

        hydra -l admin -P passwords.txt example.com http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect"
        
    • Documentación:OWASP Identity Testing

  4. Authentication Testing 🔑

    • Objetivo: Comprobar problemas en el sistema de autenticación.

    • Pruebas:

      • Contraseñas débiles.

      • Falta de bloqueo tras múltiples intentos fallidos.

  5. Authorization Testing ⚙️

    • Objetivo: Identificar escalaciones de privilegios o accesos no autorizados.

    • Ejemplo práctico: Cambiar roles manipulando tokens JWT:

    Modificarlo y enviarlo al servidor para verificar respuestas.

     ```bash
     echo '{"role":"admin"}' | base64
     
     ```
  6. Session Management Testing 🍪

    • Objetivo: Evaluar la seguridad de las sesiones.

    • Pruebas:

      • Cookies inseguras.

      • Reutilización de IDs de sesión.

    • Herramientas: Burp Suite, Postman.

  7. Data Validation Testing 📝

    • Objetivo: Detectar inyecciones y datos mal validados.

    • Tipos:

      • SQL Injection:

        ' OR '1'='1' --
        
      • Cross-Site Scripting (XSS):

        <script>alert('XSS')</script>
        
    • Herramientas: SQLmap, XSStrike.

    • Documentación:OWASP Data Validation

  8. Client-Side Testing 🖥️

    • Objetivo: Probar vulnerabilidades en el navegador del cliente.

    • Pruebas:

      • Manipulación de cookies, sesiones o almacenamiento local.

      • Inyecciones de código malicioso en JS.

    • Herramientas: DevTools, Burp Proxy.


🌐 Otros Recursos de OWASP

  • OWASP Top Ten: Lista de las 10 vulnerabilidades más críticas.

  • Cheat Sheets: Guías prácticas para implementar controles de seguridad.


🤓 Ejemplo práctico básico: SQL Injection con SQLmap

sqlmap -u "<https://example.com/product.php?id=1>" --dbs
  • Explicación: Escanea el parámetro id buscando vulnerabilidades.

  • Salida esperada: Lista de bases de datos expuestas.


Última actualización

¿Te fue útil?