PortSwigger Lab Writeups

Guías paso a paso para resolver los laboratorios de PortSwigger Web Security Academy: desde conceptos básicos hasta técnicas avanzadas, con explicaciones claras y ejemplos prácticos. Encuentra todos los PortSwigger Lab Writeups en esta página.

PortSwigger Lab Wirteups

SQL injection

La inyección SQL es una vulnerabilidad que permite manipular consultas a bases de datos a través de entradas no validadas. Puede dar acceso no autorizado a información, modificar datos o incluso comprometer todo el sistema.

Cross-site scripting

El cross-site scripting (XSS) es una vulnerabilidad que permite inyectar código malicioso en páginas web vistas por otros usuarios. Puede usarse para robar información, manipular sesiones o alterar el contenido mostrado.

CSRF

El cross-site request forgery (CSRF) es una vulnerabilidad que engaña a un usuario autenticado para ejecutar acciones no deseadas en una aplicación web. Aprovecha la confianza del sitio en el navegador del usuario para realizar cambios sin su consentimiento.

Clickjacking

El clickjacking es una técnica que engaña al usuario para que haga clic en elementos ocultos o disfrazados dentro de una página web. Esto puede provocar acciones no intencionadas, como cambiar configuraciones o autorizar transacciones.

DOM-based

En el DOM-based XSS el código malicioso se ejecuta al manipular el Document Object Model directamente en el navegador. No modifica peticiones, aprovecha cómo la página procesa datos en el cliente.

CORS

La mala configuración de CORS puede permitir que sitios no autorizados accedan a recursos o datos protegidos de una aplicación web. Esto expone información sensible y facilita ataques que cruzan el límite de confianza entre dominios.

XML XEE Injection

La inyección XML External Entity (XXE) explota la forma en que una aplicación procesa datos XML para acceder a archivos internos, revelar información sensible o interactuar con sistemas internos. Ocurre cuando se permiten entidades externas sin las debidas restricciones.

SSRF

El server-side request forgery (SSRF) es una vulnerabilidad que permite a un atacante hacer que el servidor realice peticiones a recursos internos o externos. Puede usarse para acceder a información interna, escanear redes o explotar otros servicios.

HTTP Request Smuggling

El HTTP Request Smuggling es una técnica que aprovecha diferencias en el procesamiento de solicitudes HTTP entre servidores para enviar peticiones maliciosas ocultas. Esto puede permitir eludir controles de seguridad, robar información o realizar ataques adicionales.

OS Command Injection

La inyección de comandos OS permite a un atacante ejecutar comandos del sistema operativo a través de una aplicación vulnerable. Esto puede comprometer el servidor, acceder a datos sensibles o tomar control total del sistema.

SSTI

La inyección de plantillas del lado del servidor (SSTI) ocurre cuando un atacante inserta código malicioso dentro de una plantilla que el servidor procesa. Esto puede permitir la ejecución remota de código y el control del sistema afectado.

Path traversal

El path traversal es una vulnerabilidad que permite acceder a archivos y directorios fuera del área permitida en un servidor. Mediante rutas manipuladas, un atacante puede leer información sensible o modificar archivos críticos.

Access Control Vulnerabilities

Las vulnerabilidades de control de acceso permiten a usuarios no autorizados acceder a funciones o datos restringidos. Esto puede derivar en robo de información, modificación indebida o ejecución de acciones críticas sin permisos.

Authentication

Las fallas en la autenticación permiten que atacantes se hagan pasar por usuarios legítimos o accedan sin autorización. Esto compromete la seguridad y privacidad de las cuentas y sistemas protegidos.

WebSockets

Los WebSockets permiten comunicación en tiempo real entre cliente y servidor, pero una configuración insegura puede exponer datos o facilitar ataques. Es clave validar y proteger estos canales para evitar vulnerabilidades.

Web Cache Poisoning

El web cache poisoning ocurre cuando un atacante envía solicitudes manipuladas a una aplicación web para que su respuesta maliciosa sea almacenada en la caché del servidor o de un proxy, de modo que otros usuarios reciban contenido alterado o dañino al acceder al recurso.

Insecure deserialization

La deserialización insegura ocurre cuando una aplicación procesa datos serializados sin validarlos, permitiendo que un atacante ejecute código malicioso o manipule el sistema.

Information disclosure

La divulgación de información ocurre cuando una aplicación expone datos sensibles sin protección adecuada. Esto puede facilitar ataques posteriores al revelar detalles sobre el sistema, usuarios o configuración interna.

Business logic

Las vulnerabilidades en la lógica de negocio ocurren cuando un atacante aprovecha fallos en las reglas o procesos de una aplicación para realizar acciones no autorizadas, afectando la integridad o funcionalidad del sistema.

HTTP Host Header attacks

Estos ataques explotan la confianza en el atributo ‘Host’ del header para manipular la lógica del servidor, redirigir usuarios o realizar ataques como envenenamiento de caché y phishing.

OAuth Authentication

La autenticación OAuth permite a los usuarios acceder a servicios usando credenciales de terceros, pero una implementación incorrecta puede exponer tokens y permitir accesos no autorizados.

File Upload

Vulnerabilidades en la carga de archivos que permiten a un atacante subir contenido malicioso, como una web shell o una reverse shell.

JWT

Manipulación de JSON Web Tokens (JWT) usados para autenticar y transmitir información de forma segura.

Essential Skills

El escaneo con Burp Suite es una habilidad clave para identificar vulnerabilidades en aplicaciones web. Permite analizar, interceptar y modificar solicitudes para detectar fallos de seguridad de manera eficiente.

Prototype pollution

La contaminación de prototipos es una vulnerabilidad que permite modificar propiedades predeterminadas de objetos en JavaScript. Esto puede alterar el comportamiento de la aplicación y provocar fallos o ejecución de código malicioso.

GraphQL

Las vulnerabilidades en GraphQL surgen cuando no se limitan las consultas o mutaciones, lo que permite extraer datos sensibles, ejecutar operaciones no autorizadas o afectar el rendimiento del servidor.

Race conditions

Las condiciones de carrera ocurren cuando varios procesos acceden o modifican datos al mismo tiempo sin control adecuado. Esto puede provocar comportamientos inesperados, corrupción de datos o explotación maliciosa.

NoSQL injection

La inyección NoSQL ocurre cuando las consultas a bases de datos NoSQL aceptan entradas no validadas, permitiendo manipular o acceder a datos sin autorización. Esto puede comprometer la integridad y confidencialidad de la información.

API Testing

Las vulnerabilidades en API ocurren cuando carecen de validación, autenticación o control de acceso adecuados. Esto puede exponer datos sensibles, permitir acciones no autorizadas o facilitar ataques automatizados.

Web LLM attacks

Los ataques a LLM en entornos web aprovechan la manipulación de las entradas para forzar respuestas no deseadas o filtrar información sensible. Una validación y filtrado adecuados son clave para mitigar estos riesgos.

Web Cache deception

El Web Cache Deception explota la forma en que un servidor y una caché manejan las URLs para almacenar y servir contenido sensible a usuarios no autorizados. Esto puede exponer información privada de manera inadvertida.