Parte 4 — Seguridad de aplicaciones web

⬅️ Volver al programa · 📚 Índice completo · ⏭️ Parte siguiente

30 clases · rango 086–115 · OWASP Top 10, Burp Suite, inyecciones, XSS, SSRF, APIs y bug bounty

Fuentes de referencia de esta parte:


🎯 ¿De qué trata esta parte?

La web es la superficie de ataque más expuesta de casi cualquier organización: un navegador, una URL y un endpoint HTTP bastan para alcanzar datos, lógica de negocio e infraestructura interna. Esta parte enseña a encontrar, explotar y corregir las vulnerabilidades que dominan el panorama real de las aplicaciones web modernas, desde el clásico SQL injection hasta ataques de protocolo como el HTTP request smuggling.

Trabajaremos con el OWASP Top 10 como mapa mental, el Web Security Testing Guide como metodología y Burp Suite como herramienta central de proxy e interceptación. Cada clase combina teoría (cómo y por qué falla el código) con laboratorio práctico sobre entornos deliberadamente vulnerables y autorizados: DVWA, OWASP Juice Shop y los PortSwigger Web Security Academy labs.

Sirve a pentesters web, cazadores de bugs (bug bounty), desarrolladores que quieren escribir código seguro y equipos de AppSec/DevSecOps. Al final no solo sabrás romper aplicaciones: sabrás explicar el impacto, priorizar el riesgo y proponer la corrección correcta.

🧩 Problemas que resuelve

🎓 Resultados de aprendizaje

Al terminar la parte, el alumno podrá:

🧱 Prerrequisitos

Esta parte se apoya en las anteriores; conviene traer fresco lo siguiente:

Necesitas tener claro… Dónde se cubre
HTTP, cookies, sesiones y qué añade HTTPS Clase 013
Codificación: URL, Base64, hex (hashing ≠ cifrado) Clase 020
Man-in-the-middle y por qué se instala una CA de proxy Clase 040
Contraseñas, JWT/HMAC, TLS (para auth y tokens) Clases 052, 056–057
Metodología de pentest, recon y reporte Parte 3 · Clase 085
Ética, alcance y autorización Clase 025

En cuanto a nociones de HTML, JavaScript y SQL básicos: no hace falta ser desarrollador experto, pero saber leer código ayuda mucho, sobre todo en las clases de XSS (DOM), SSTI y deserialización.

🧭 Cómo recorrer esta parte

Es la parte más larga del programa (30 clases), y el orden está pensado para ir de lo general a lo específico. Primero el mapa y las herramientas (086–090), luego cada familia de vulnerabilidad, y al final la profesión (bug bounty, secure coding). Puedes tratar cada bloque de vulnerabilidades como una unidad relativamente independiente —quien solo necesite inyecciones puede ir a 091–095—, pero las clases 086 (superficie de ataque), 087 (OWASP Top 10) y 088 (Burp) son la base transversal que todas las demás dan por sabida.

El ritmo. La parte suma unas 54 horas de trabajo guiado, la más extensa del programa, sin contar el tiempo de laboratorio (que aquí es mucho: cada vulnerabilidad se practica en DVWA, Juice Shop o los labs de PortSwigger). A dos horas al día son unas seis semanas.

El método, clase a clase.

  1. Lee 🎯 Objetivo y 📚 Resultados de aprendizaje.
  2. Lee 🧠 Explicación en profundidad antes de tocar Burp. Casi todas las clases comparten una misma causa raíz —no confiar en la entrada, no mezclar datos con código—; entender el mecanismo hace que los payloads dejen de ser recetas.
  3. Prepara el laboratorio de 🧰 Herramientas y preparación (un entorno vulnerable autorizado, nunca un sitio ajeno).
  4. Haz el 🧪 Laboratorio guiado: explota la vulnerabilidad y, cuando aplique, aplica la defensa y comprueba que la cierra.
  5. Resuelve ✍️ Ejercicios y el 📝 Reto verificable.
  6. Repasa el 📔 Glosario. La densidad de siglas es alta (SSRF, XXE, IDOR, BOLA, SSTI, CORS): si no sabrías explicar una, vuelve a su sección.

⚠️ Uso ético y legal. Todas estas técnicas se practican solo en entornos deliberadamente vulnerables (DVWA, Juice Shop, los labs de PortSwigger) o dentro del alcance de un pentest o un programa de bug bounty autorizado. Atacar una aplicación web ajena sin permiso es delito, aunque "solo pruebes una comilla". La clase 114 detalla las reglas del bug bounty y la clase 025 el marco legal.

🧱 Anatomía de una clase

Las 30 clases siguen el estándar pedagógico profundo del programa:

Sección Qué contiene Para qué la usas
🎯 Objetivo Qué sabrás hacer al terminar y por qué importa Decidir si necesitas la clase
📚 Resultados de aprendizaje Lista verificable de capacidades concretas Autoevaluarte al final
🗺️ Temas Cada tema con el porqué de su inclusión Ubicarte antes de leer
🧠 Explicación en profundidad El mecanismo del ataque, su causa raíz y su defensa, con diagramas Entender, no memorizar payloads
📖 Definiciones y características Cada término desarrollado con su relevancia Consulta puntual
📔 Glosario Términos y siglas de la clase, en tabla Repaso rápido
🧰 Herramientas y preparación Qué instalar y qué laboratorio montar Antes del laboratorio
🧪 Laboratorio guiado Explotación paso a paso en entorno vulnerable Donde de verdad se aprende
✍️ Ejercicios · 📝 Reto verificable Práctica propia y un entregable con criterio Consolidar y demostrar
⚠️ Errores comunes · ❓ Preguntas frecuentes Tropiezos reales y dudas auténticas Cuando algo no funciona
🔗 Referencias WAHH, PortSwigger, OWASP Profundizar

El CI del repositorio verifica que ninguna clase de esta parte pierda las secciones 🧠 Explicación en profundidad ni 📔 Glosario.

🗺️ Estructura temática

Bloque Clases Contenido Tiempo
Fundamentos y herramientas 086–090 Superficie de ataque, OWASP Top 10, Burp, ZAP, mapeo ≈ 7 h 55
Inyecciones 091–095 SQLi, blind SQLi, sqlmap, NoSQL, command injection ≈ 9 h
Cross-site y falsificación 096–099 XSS reflejado, XSS stored/DOM, CSRF, SSRF ≈ 7 h 20
Datos, auth y sesiones 100–105 XXE, auth bypass, sesiones, JWT, OAuth, IDOR/traversal ≈ 11 h
Server-side avanzado 106–109 Deserialización, SSTI, upload, lógica de negocio ≈ 7 h 10
APIs y protocolo 110–113 REST, GraphQL, request smuggling/cache, client-side ≈ 7 h 40
Cierre profesional 114–115 Bug bounty y secure coding ≈ 3 h 50

Fundamentos y herramientas
086-090

Inyecciones
091-095

Cross-site
096-099

Datos, auth y sesiones
100-105

Server-side avanzado
106-109

APIs y protocolo
110-113

Cierre: bug bounty y secure coding
114-115

Parte 5: Explotacion de binarios

📖 Guía capítulo a capítulo

🧰 Bloque 1 · Fundamentos y herramientas — clases 086 a 090

💉 Bloque 2 · Inyecciones — clases 091 a 095

🕸️ Bloque 3 · Cross-site y falsificación — clases 096 a 099

🔐 Bloque 4 · Datos, autenticación y sesiones — clases 100 a 105

⚙️ Bloque 5 · Server-side avanzado — clases 106 a 109

🔌 Bloque 6 · APIs y protocolo — clases 110 a 113

🎓 Bloque 7 · Cierre profesional — clases 114 a 115

🧰 Qué tendrás al terminar

🚦 ¿Puedo saltarme clases?

Los bloques de vulnerabilidades son bastante independientes, pero 086–088 son transversales. Sáltate una clase solo si respondes de memoria a su pregunta de control:

Si dominas… Pregunta de control Si titubeas
Herramientas (088) ¿Por qué hay que instalar la CA de Burp para interceptar HTTPS? Haz 088
Inyección (091) ¿Por qué parametrizar elimina la SQLi y filtrar comillas no? Haz 091
XSS (096) ¿Qué es el "contexto de inyección" y por qué lo decide todo? Haz 096
SSRF (099) ¿Por qué 169.254.169.254 es la joya del SSRF? Haz 099
Control de acceso (105) ¿Por qué usar UUIDs no arregla un IDOR? Haz 105
APIs (110) ¿Qué es BOLA y por qué domina las brechas de API? Haz 110

🔗 Referencias de la parte

▶️ Empezar

Clase 086 — Arquitectura web moderna y superficie de ataque