AzkOsDev / recursos

volver al portafolio

Estas notas son de uso personal y fines educativos, construidas a partir de auditorías realizadas bajo autorización. No apliques ninguna técnica aquí descrita sobre sistemas que no te pertenecen o para los que no tengas permiso explícito.

página · introducción

Introducción

Este espacio funciona como una bóveda personal de técnicas, comandos y listas de verificación que he ido documentando durante auditorías de seguridad web. La idea es tener un punto de referencia rápido — no una guía exhaustiva — que crece cada vez que encuentro algo que vale la pena recordar.

Cada sección sigue el mismo formato: contexto breve, checklist de lo que se debe probar, y notas o comandos concretos cuando aplica.

página · metodología

Metodología general

Flujo base que sigo antes de entrar al detalle de cada tipo de vulnerabilidad.

  1. 01 Reconocimiento y mapeo de superficie (subdominios, endpoints, tecnologías).
  2. 02 Identificación de puntos de entrada (parámetros, headers, cookies, uploads).
  3. 03 Pruebas dirigidas por tipo de vulnerabilidad (ver secciones siguientes).
  4. 04 Validación de impacto real y documentación del hallazgo.

página · evasión

Evasión de WAF

La evasión de WAF es un área amplia dentro de las pruebas de seguridad y depende considerablemente de la tecnología utilizada, las reglas configuradas y la arquitectura de cada aplicación. Actualmente, encontrarse con un WAF durante una auditoría es algo muy común, por lo que un payload bloqueado no significa necesariamente que la vulnerabilidad no exista. Entre las soluciones WAF más utilizadas actualmente se encuentra Cloudflare, ampliamente implementado para proteger aplicaciones y APIs frente a diferentes tipos de ataques. Sin embargo, la eficacia de un WAF no depende únicamente de las capacidades del producto, sino también de cómo ha sido configurado e integrado en la aplicación. Por esta razón, cuando durante una auditoría se consigue superar una protección de Cloudflare, no significa necesariamente que el WAF esté mal desarrollado ni que exista una vulnerabilidad en la propia plataforma. En muchos casos, el origen está en una configuración incorrecta o incompleta realizada por los desarrolladores o administradores: reglas demasiado permisivas, excepciones innecesarias o políticas que no contemplan determinados escenarios. Un WAF correctamente configurado puede reducir considerablemente la superficie de ataque, pero no sustituye la seguridad de la aplicación ni corrige por sí mismo una vulnerabilidad existente.

WAF

Codificación alternativa

Probar URL-encoding doble, Unicode, HTML entities, mayúsculas/minúsculas mezcladas.

Fragmentación de la petición

Dividir el payload entre parámetros, headers o el cuerpo de la petición.

Cambio de método o content-type

Repetir la prueba con GET/POST/PUT o alternando entre JSON y form-urlencoded.

Pruebas manuales vs. automatizadas

Cuando el escaneo automatizado es bloqueado, bajar el ritmo y probar uno a uno desde Repeater.

página · vulnerabilidad

Cross-Site Scripting (XSS)

Checklist de pruebas manuales antes de descartar un parámetro.

  • Identificar todos los puntos donde la entrada se refleja en la respuesta.
  • Determinar el contexto de reflejo: HTML, atributo, JavaScript, URL.
  • Probar con caracteres de control simples y observar si se escapan o no.
  • Revisar cabeceras CSP y si permiten unsafe-inline o dominios laxos.
  • Confirmar el impacto (alert, robo de cookie no-HttpOnly, redirección) antes de reportar.

payload base de prueba

zsh

/ <script>alert(document.domain)</script>

página · vulnerabilidad

SQL Injection

Checklist de pruebas manuales por parámetro sospechoso.

  • Probar comillas simples/dobles y observar errores o cambios de comportamiento.
  • Comparar respuestas ante condiciones verdaderas vs. falsas (boolean-based).
  • Si no hay diferencia visible, probar retardo temporal controlado (time-based).
  • Confirmar el motor de base de datos antes de continuar con la extracción.
  • Documentar el impacto real (lectura de datos) de forma controlada, sin modificar información.

prueba booleana básica

zsh

' OR '1'='1

página · vulnerabilidad

SSRF

Checklist de pruebas manuales cuando la app hace peticiones salientes a partir de una URL controlada por el usuario.

  • Identificar cualquier campo que reciba una URL, callback o webhook.
  • Confirmar la petición saliente con un servicio de captura externo antes de escalar.
  • Evaluar si es posible alcanzar rangos internos o metadatos del proveedor cloud.
  • Revisar si la respuesta se refleja al usuario (blind vs. no blind).

página · vulnerabilidad

IDOR / Control de acceso

Checklist de pruebas manuales sobre identificadores y permisos.

  • Mapear todos los endpoints que reciben un ID (numérico, UUID, hash predecible).
  • Probar acceso con una cuenta de menor privilegio a recursos de otra cuenta.
  • Verificar el control de acceso tanto en lectura como en escritura/eliminación.

página · referencia

Notas de herramientas

Comandos que uso con frecuencia y vale la pena no tener que recordar de memoria.

ffuf · fuzzing de rutas con extensiones comunes

ffuf -u https://target.com/FUZZ -w wordlist.txt -e .php,.html,.bak

nmap · escaneo sigiloso con timing bajo

nmap -sS -T2 --scan-delay 500ms -D RND:5 target.com

-T2: plantilla de tiempo "sigilosa" · --scan-delay: espera entre sondas · -D: señuelos aleatorios para camuflar el origen

sqlmap · pruebas con delay y tamper

sqlmap -u "https://target.com/item?id=1" --delay=2 --random-agent --tamper=space2comment

--delay: segundos entre peticiones · --random-agent: rota el User-Agent · --tamper: script incluido en sqlmap para reescribir la sintaxis del payload

ffuf · fuzzing con control de ritmo

ffuf -u https://target.com/FUZZ -w wordlist.txt -p 1.5-3.0 -rate 10 -H "User-Agent: Mozilla/5.0"

-p: pausa aleatoria entre peticiones · -rate: máximo de peticiones/seg · evita picos de tráfico detectables de igual manera el User Agent es detectado como malicioso por algunos WAF si este mismo no proviene de un navegador legitimo

gobuster · fuerza bruta de directorios y subdominios

gobuster dir -u https://target.com -w wordlist.txt -t 50

nmap · escaneo rápido de puertos comunes

nmap -p- -T4 --min-rate 1000 target.com