🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónInyecciones 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).
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.
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.
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.
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 < 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.
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.
Preparando el escritorio…
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.