Semana 3 – Saltando el login con lógica rota (Broken Authentication)

🔐 ¿Y si te dijera que a veces no necesitas una contraseña para entrar?VENGA QUE ESTA ES SENCILLITA!

Venga.... que esta es sencillita....

Sí, hay sitios web donde la lógica del login está tan mal hecha, que puedes entrar como si nada.

Hoy vamos a hablar de uno de los errores más comunes en la autenticación web:
👉 la lógica rota (también conocida como broken authentication o bypass de login).


💭 ¿Qué es una lógica rota?

Es cuando la web tiene errores en la forma en que valida usuarios y contraseñas, y esos errores se pueden explotar para:

  • Acceder sin estar registrado
  • Saltarse el login sin tener credenciales
  • Entrar como administrador solo por tocar la URL o el parámetro correcto

🧪 Ejemplo típico: formulario vulnerable

Imagina este formulario de login:

Usuario: admin  
Contraseña: [    ]

Pero en lugar de verificar bien la contraseña, el código hace algo así:

if usuario == "admin":
    acceso = True

🤦‍♂️ O sea… ¡ni siquiera comprueba la contraseña!


Otros ejemplos de lógica rota:

Tipo de falloQué pasa
Solo comprueban si el campo existeCualquier valor te deja entrar
Comprueban mal los valoresPuedes meter " OR 1=1 -- y colarte
Confían solo en un parámetroComo ?logged=true en la URL
La validación está solo en el frontendSi cambias el HTML o haces una petición manual, entras

🧪 Laboratorio práctico

He preparado un entorno donde puedes practicar esto:

🔗 Probar el laboratorio aquí

Prueba a entrar con:

  • Usuario: admin
  • Contraseña: (vacío o cualquier cosa)

Y observa qué pasa…


🎯 Tu reto esta semana

👉 Tu misión:
Accede sin credenciales válidas usando fallos en la lógica del login.

🧠 Pistas:

  • Prueba nombres típicos como admin, test, root
  • Prueba contraseñas en blanco, espacios, 1234, etc.
  • Cambia valores desde la consola del navegador o herramientas como Burp

💡 Consejo: no siempre se trata de encontrar la contraseña… a veces la web no está comprobando nada 😅


🚨 ¿Por qué esto es tan importante?

  • Porque muchos formularios de login están hechos sin buenas prácticas
  • Porque como pentester, este es uno de los primeros puntos que deberías revisar
  • Porque es muy común en apps internas, paneles antiguos o herramientas mal configuradas

🛡️ ¿Cómo se debería proteger esto?

Un sistema de login seguro debería:

✅ Verificar tanto usuario como contraseña del lado del servidor
✅ Usar hashes seguros para las contraseñas
✅ Bloquear intentos masivos (rate limit)
✅ Mostrar errores genéricos (no «contraseña incorrecta» vs «usuario no existe»)


🧠 ¿Lo has conseguido?

Cuéntame cómo lo hiciste desde la página de contacto o en los comentarios.
Y si te atascas, no te preocupes: la semana que viene subo la solución detallada.


Nos vemos en el reto de la Semana 4. Spoiler: puede que tengas que mirar las cookies… 🍪

Deja un comentario

Deja un comentario