A quién va dirigido
- Pentesters y cazadores de bug bounty que quieren pasar de las pruebas de caja negra al código fuente.
- Ingenieros de seguridad de aplicaciones que necesitan un método de revisión repetible y ayuda para clasificar los resultados de los escáneres.
- Desarrolladores sénior y responsables técnicos que revisan pull requests y quieren detectar fallos de seguridad antes del merge.
Qué será capaz de hacer
- Cartografiar un repositorio desconocido: puntos de entrada, límites de confianza y el código que merece su tiempo.
- Rastrear la entrada no fiable desde el origen hasta el punto de uso peligroso y distinguir un hallazgo real de un falso positivo del escáner.
- Encontrar fallos de autenticación, autorización, aislamiento entre clientes y lógica de negocio que las herramientas pasan por alto.
- Demostrar la explotabilidad en un laboratorio local y justificar la severidad en términos que acepte un responsable de producto.
- Encontrar variantes de una vulnerabilidad conocida mediante el análisis de parches y consultas propias de Semgrep o CodeQL.
- Redactar hallazgos con causa raíz, evidencias y corrección, y comprobar si una corrección propuesta se sostiene.
Antes de empezar
- Lee con soltura código en al menos uno de estos lenguajes: JavaScript/TypeScript, PHP, Java o Python.
- Conoce HTTP y las clases habituales de vulnerabilidades web, al nivel del OWASP Top 10.
- Sabe usar git, Docker y una terminal, y puede seguir una formación en inglés. Empezamos con una breve evaluación de su nivel para que el plan se ajuste a usted.
Temario
Ocho módulos. Su plan los recorre en el orden y con la profundidad que encajan con su nivel: rápido en lo que ya sabe, más despacio donde lo necesita.
Leer un código desconocido con mirada de seguridadConvierta un repositorio que nunca ha visto en un mapa de lo que un atacante puede alcanzar.
- Puntos de entrada: rutas, controladores, tareas, webhooks y consumidores de mensajes
- Convenciones del framework que ocultan el enrutamiento y el middleware
- Un modelo de amenazas en una página: activos, actores y límites de confianza
- Dedicar una revisión de tiempo limitado a donde está el riesgo
Orígenes, destinos y flujo de datosSiga la entrada no fiable hasta el lugar donde causa daño.
- Rastreo manual del origen al destino, incluidos los flujos de segundo orden
- Validación, saneamiento y codificación, y cuándo protege cada uno
- Destinos SQL, de comandos, de plantillas, de rutas de archivo, SSRF y deserialización
- Clasificar los resultados de SAST: confirmar, descartar o profundizar
Autenticación y sesionesRevise el código que decide quién es el usuario.
- Flujos de inicio de sesión, registro, restablecimiento de contraseña y MFA
- Ciclo de vida de tokens y sesiones: emisión, validación, caducidad y revocación
- Errores de verificación de JWT, con la cadena de parches de fast-jwt como caso
- Comprobaciones de redirección, state y audiencia en OAuth y OpenID Connect
Autorización y aislamiento entre clientesEncuentre la comprobación que falta y que permite a un cliente acceder a los datos de otro.
- Comprobaciones a nivel de objeto y de función (BOLA, BFLA, IDOR) en manejadores, middleware y consultas ORM
- Asignación masiva y over-posting
- Delimitación por cliente en consultas, cachés y tareas en segundo plano
- Resolvers de GraphQL y endpoints de administración
Lógica de negocio, estado y concurrenciaEncuentre el código que rompe las reglas de las que depende el producto.
- Invariantes: lo que siempre debe cumplirse y el código que lo rompe
- Condiciones de carrera en pagos, cupones y cuotas
- Confiar en precios, roles e identificadores enviados por el cliente
- Aritmética: desbordamiento, truncamiento y anchura de desplazamiento (CVE-2025-37858)
Analizadores, plataformas y cadena de suministroRevise las suposiciones que hace su código sobre todo lo que lo rodea.
- Normalización de rutas y diferencias entre analizadores (CVE-2026-21589, CVE-2026-104935)
- Comprobaciones que desaparecen tras una búsqueda fallida (CVE-2024-26855)
- Límites del renderizado en servidor después de React2Shell
- Dependencias, scripts de compilación y lockfiles después del compromiso de Axios en npm
Demostrar la explotabilidad y el impactoPase de una línea sospechosa a un hallazgo confirmado y priorizado.
- Condiciones previas, alcanzabilidad y control del atacante
- Una prueba mínima en un laboratorio local
- Severidad con CVSS y contexto de negocio
- Análisis de parches y de variantes con Semgrep y CodeQL
Correcciones, informes y código escrito por IAConsiga que la vulnerabilidad se corrija y que siga corregida.
- Hallazgos que los desarrolladores aceptan: ubicación, causa raíz, evidencias y corrección
- Revisar una corrección propuesta y su prueba de regresión
- Valores por defecto seguros que eliminan toda una clase de fallos
- Revisar código generado por IA y comprobar lo que le dice un revisor de IA
Trabajo práctico
Laboratorios de rastreo
Revisiones guiadas de aplicaciones que preparé para el curso, en las que sigue la entrada a través del código real del framework hasta la línea vulnerable.
Búsqueda de variantes
Parta de un parche publicado en un proyecto de código abierto y busque el mismo error en otras partes de ese código, en la versión vulnerable.
Revisión de correcciones
Decida si una corrección propuesta elimina la causa raíz o solo el síntoma reportado, y escriba la prueba que lo demuestra.
Evaluación final
Revisar una aplicación multicliente
Una revisión de tiempo limitado de una aplicación creada para el curso, con el código fuente y una copia en ejecución. Usted redacta un informe profesional de hallazgos y lo repasamos juntos en una sesión final.
Cómo se evalúa
- Mapa de cobertura de los puntos de entrada y los límites de confianza
- Hallazgos confirmados con evidencias y pasos de reproducción
- Causa raíz correcta para cada hallazgo
- Un razonamiento de severidad que un responsable de producto pueda seguir
- Correcciones que eliminan la causa, con una prueba
- Pocos falsos positivos, claramente separados de las preguntas abiertas
En qué se diferencia este curso
Un alumno, un instructor
Todas las sesiones son conmigo, y el plan sigue su progreso en lugar del calendario de una clase.
Casos reales, no fragmentos de juguete
Revisa código de vulnerabilidades publicadas, incluidas algunas que analicé o corregí yo mismo, junto con aplicaciones preparadas para el curso.
El método antes que las herramientas
Los escáneres se estudian por lo que hacen bien. Aprende a juzgar sus resultados y a encontrar lo que no pueden modelar.
Herramientas que utilizará
Estándares y referencias
- OWASP Code Review Guide
- OWASP Application Security Verification Standard (ASVS)
- OWASP Cheat Sheet Series
- CWE Top 25 Most Dangerous Software Weaknesses
- NIST SP 800-218, Secure Software Development Framework
Casos prácticos que puede leer ya
- Confusión de algoritmos en fast-jwt: corregida a la tercera
- CVE-2026-21589: la lectura de archivos de Atlassian que se esconde tras ::
- CVE-2024-26855: cuando un atributo ausente se convierte en una desreferencia de NULL
- Después de React2Shell: tres límites de seguridad que toda revisión de componentes de servidor necesita
Preguntas sobre este curso
¿Qué lenguajes de programación necesito?
Los laboratorios usan TypeScript/Node.js, PHP y Java, con C para los casos de código nativo. Necesita leer con soltura uno de ellos; el método se transfiere de un lenguaje a otro, y lo practicamos.
¿Cuánto dura?
Depende de su nivel de partida y del tiempo del que disponga entre sesiones. Acordamos un plan tras la evaluación inicial y lo ajustamos a medida que avanza.
¿Es lo mismo que prepararse para OSWE?
No. OSWE certifica la explotación de caja blanca mediante un examen. Este curso enseña un método de revisión, el análisis de la causa raíz y la calidad de las correcciones, con supervisión personal. Muchas habilidades se solapan, y el curso es una buena preparación para cualquier trabajo de caja blanca.
¿Necesito un escáner comercial?
No. Todo el curso funciona con herramientas gratuitas y de código abierto.
¿Cuándo puedo empezar?
Envíe un breve mensaje sobre su nivel y sus objetivos. Respondo en un plazo de tres días para concertar una llamada de evaluación gratuita de 20 minutos; después acordamos su plan y la fecha de inicio.
¿Cuánto cuesta?
Cada curso cuesta 1490 USD por unas 10 sesiones individuales de 90 minutos, con laboratorios, revisión de ejercicios, una evaluación final y un certificado. Los dos cursos juntos cuestan 2690 USD, y una sesión suelta de 90 minutos cuesta 150 USD.
¿Cómo funciona la formación individual?
Nos reunimos en línea en sesiones en directo. Entre una sesión y otra trabaja en los laboratorios y ejercicios que le propongo según su nivel, y en la siguiente sesión repasamos sus resultados. El ritmo sigue su progreso, no un calendario fijo.
¿En qué idioma son las sesiones?
En inglés para los alumnos internacionales. Los hablantes de árabe pueden elegir entre árabe e inglés; en las sesiones en árabe se mantienen los términos en inglés que verá en herramientas, informes y ofertas de empleo.
¿Hay alguna parte presencial?
No. Todas las sesiones, los laboratorios, los ejercicios y los comentarios son en línea.
¿Recibiré un certificado?
Recibirá un certificado de finalización al superar la evaluación final. Lo emito yo y no es una certificación del sector como OSWE. Lo que un empleador puede comprobar es el propio trabajo: su informe final.
¿Son legales los ejercicios prácticos?
Sí. Todo el trabajo práctico utiliza aplicaciones que preparé para el curso y proyectos de código abierto en versiones con avisos publicados, ejecutados en su propio equipo. Nunca prueba un sistema que no sea suyo o para el que no tenga permiso por escrito.
¿Y si necesito más tiempo?
Si necesita más sesiones de las previstas, cada sesión adicional cuesta 150 USD y la acordamos antes de realizarla.
Siguiente paso
Continúe con el curso de pentesting web y de API asistido por el código.