Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Inyecciones SQL y XSS en la práctica

4 tareas · 26 min · Principiante

A pesar de tener décadas documentadas en el OWASP Top 10, los fallos de inyección SQL y Cross-Site Scripting (XSS) siguen encabezando las brechas de seguridad web. En esta sala estudiarás la mecánica real de ambos ataques en aplicaciones web modernas y las defensas que los erradican de raíz: consultas preparadas y políticas de seguridad de contenido (CSP).

0 de 4 · 0%

Objetivo de la sala

A pesar de tener décadas documentadas en el OWASP Top 10, los fallos de inyección SQL y Cross-Site Scripting (XSS) siguen encabezando las brechas de seguridad web. En esta sala estudiarás la mecánica real de ambos ataques en aplicaciones web modernas y las defensas que los erradican de raíz: consultas preparadas y políticas de seguridad de contenido (CSP).

La inyección SQL ocurre cuando una aplicación concatena directamente texto introducido por el usuario en una cadena de consulta SQL (por ejemplo: SELECT * FROM usuarios WHERE email = ' + email + '). Si el usuario introduce ' OR '1'='1, la estructura lógica de la consulta cambia por completo, haciendo que la base de datos devuelva todos los registros de la tabla o salte la verificación de contraseña.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Cuál es la causa raíz fundamental que hace posible una vulnerabilidad de inyección SQL?

Ver pista de ayuda

El motor de base de datos confunde los datos del usuario con instrucciones de control.

Intentar filtrar comillas o palabras clave con listas negras (replace('OR', '')) es una receta para el desastre, porque los atacantes usan codificaciones alternativas o mayúsculas. La defensa definitiva son las consultas preparadas con vinculación de parámetros (Prepared Statements / Parameterized Queries). En una consulta preparada, el motor compila la estructura SQL primero, y los datos del usuario se envían como parámetros aislados que jamás pueden interpretarse como código ejecutable.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Por qué las consultas preparadas (Prepared Statements) neutralizan por completo la inyección SQL?

Ver pista de ayuda

La sintaxis SQL queda fijada de antemano y la entrada del usuario nunca puede alterar el comando.

Si una aplicación web toma un dato del usuario (como un comentario en un foro o un parámetro en la URL) y lo imprime en la página HTML sin codificar caracteres especiales (<, >, "), un atacante puede insertar etiquetas <script>. Cuando otros usuarios visitan la página, su navegador ejecuta ese JavaScript en el contexto de su propia sesión, permitiendo al atacante robar cookies de autenticación, suplantar su identidad o capturar pulsaciones de teclado.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Qué consecuencia de seguridad tiene un ataque de Cross-Site Scripting (XSS) exitoso en una aplicación web?

Ver pista de ayuda

El script malicioso corre en el navegador de la víctima con los permisos del sitio vulnerable.

Para erradicar el XSS se aplican dos niveles defensivos: 1) Codificación contextual de salida (HTML Entity Encoding): convertir < en &lt; para que el navegador lo muestre como texto y no como una etiqueta HTML. 2) Cabeceras de seguridad como Content Security Policy (CSP), que restringen qué scripts tiene permiso para ejecutar el navegador, bloqueando scripts en línea (inline scripts) e impidiendo la carga de código desde dominios externos no autorizados.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Qué cabecera HTTP de seguridad restringe qué orígenes de scripts puede ejecutar el navegador para mitigar XSS?

Ver pista de ayuda

Define una política estricta sobre qué recursos y fuentes de scripts están permitidos.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build 733482

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad