Lo que vas a practicar hoy son técnicas reales de ciberseguridad, pero solo sobre entornos preparados para aprender (esta página, webs de práctica autorizadas y hashes de ejemplo). Antes de tocar nada, interioriza esto:
Si entiendes y aceptas estas reglas, adelante. Cada bandera tiene el formato CEI{...}. El validador no distingue mayúsculas de minúsculas.
Toda web envía más información de la que se ve. Un atacante lo primero que hace es leer el código fuente y abrir las herramientas de desarrollador buscando datos filtrados: comentarios, campos ocultos, rutas internas…
PISTA. Ahí arriba del todo hay un comentario con una bandera: esa es la bandera 1A.display:none (invisible a la vista). Encuéntralo inspeccionando el HTML: es la bandera 1B.Bienvenido al panel. Tu sesión caducará en 15 minutos.
CEI{d3vt00ls_f12_p0d3r}(Algo en este recuadro está oculto a la vista pero sigue en el HTML. Inspecciónalo.)
<span class="hidden-flag"> con la bandera dentro. El CSS lo esconde, pero el dato viaja igual al navegador: por eso nunca se ocultan datos sensibles solo con CSS.Mucha gente confunde codificar con cifrar. Codificar (Base64) o rotar letras (César) solo disfraza el texto: cualquiera lo revierte en segundos. Vamos a demostrarlo.
echo "..." | base64 -d).ROT13.PRV se convierte en CEI.Las webs no guardan tu contraseña en claro: guardan su hash (una huella irreversible). Pero si la contraseña es débil y está en un diccionario, se puede reventar comparando huellas. Hemos "robado" la base de datos de un servidor vulnerable. Recupera las contraseñas.
Aquí las banderas son las propias contraseñas en claro (sin CEI{}).
echo "8621ff...db3" > h.txt && john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt h.txtSi una web construye su consulta a la base de datos pegando directamente lo que escribes, puedes reescribir la consulta. Es la vulnerabilidad web más clásica. Debajo tienes un formulario de acceso vulnerable de verdad (es una simulación segura dentro de esta página).
Por dentro, el login hace algo como:
' OR '1'='1 en el usuario. Otra muy usada cierra y comenta: admin' -- (ojo al espacio tras los guiones). Prueba variantes. Cuando la condición es siempre cierta, la consulta devuelve usuarios y te deja pasar.low, o en PortSwigger Web Security Academy (laboratorios gratuitos). Nunca en webs reales ajenas.Muchas apps guardan tu sesión en un token dentro del navegador. Si ese token se puede leer y modificar (mal diseño), puedes ascenderte a admin tú mismo. Lo probamos.
{"usuario":"alumno","rol":"user"}."rol":"user" por "rol":"admin".Los atacantes esconden datos en varias capas para esquivar análisis. Esta cadena está codificada en Base64… dos veces. Pélala capa a capa como una cebolla.
From Base64 dos veces y lo ves al instante. También echo "..." | base64 -d | base64 -d en Kali.