Aplicaciones web y códigos de estado HTTP
Si está devolviendo 200 tanto en una página no autorizada (302 Redirecciones a 200 páginas de inicio de sesión) como en una página autorizada (página autorizada descubierta), hay algunas cosas que puede hacer:
-
Puede buscar lo que sucede en un inicio de sesión exitoso. Cree una cuenta falsa, inicie sesión. Vea qué no se incluye en la página real y qué no. Así es como encontrarás tu cadena única.
- Recuerde: si hay un WAF o algo así, podría comenzar a redirigir todas sus solicitudes entrantes a 3xx / 4xx, ya sea para solicitudes válidas o no válidas.
-
Analice la respuesta HTTP para el código HTML o una cadena que no aparecería en la página de inicio de sesión , O una cadena que SOLO aparece en la página de inicio de sesión.
- Por ejemplo, podría aparecer la cadena "No autorizado" o "Iniciar sesión". Desearía excluir respuestas con esas cadenas.
Ambos pueden hacerse usando Python, o cualquier lenguaje de programación / scripting que quieras usar, incluyendo bash. Bash será, sin embargo, mucho más lento.
¿Podría dar un ejemplo, por favor?
Claro. Vea abajo.
1. Utilizando Python
Tendrás que editar esto. Es un código de ejemplo rápido.
import pycurl
import urllib
import sys
from StringIO import StringIO
c = pycurl.Curl()
html = StringIO()
c.setopt(pycurl.WRITEFUNCTION, html.write)
c.setopt(c.VERBOSE, 0)
def send_req(url):
field = urllib.urlencode(payload)
c.setopt(c.URL, url)
c.setopt(c.VERBOSE, 0)
c.perform()
if "successful non-login-page string to search for" in html.getvalue():
html = StringIO() # Reset
return True
return False
with open("dir-or-file-list.txt") as f:
for line in f:
if send_req("http://haxlogin.page/" + line + ") == True:
print "[!] Found a valid page: %s" % line
No tengo tiempo para verificar si este Python funciona, es solo un ejemplo general de cómo podrías hacerlo funcionar con Python, por lo que necesitarás editarlo.
2. Utilizando Burp Suite Pro
Con Burp Intruder , en el diálogo de ataque , puedes usar filter
. Imagine 2xx devuelve "No autorizado" como el único código / cadena. Deseará excluir "No autorizado" de la búsqueda, de este modo:
Filter:
- Filtrar por término de búsqueda "No autorizado", búsqueda negativa
- Filtrar por código de estado: 2xx [éxito]
3. Usando OWASP Dirbuster
Options -> Advanced Options -> Scan Options -> Fail Case String -> Enter a string that appears only on the login page
302 Redirecciones
Tenga en cuenta: muchas aplicaciones realizan un redireccionamiento 302 después de publicar algo con éxito.
Eso no significa necesariamente que una redirección 302 sea mala o que no hayas encontrado nada. Usa curl -L
para seguir la redirección y ver dónde te lleva.
Es probable que también quieras revisar el contenido de la página redirigida para no perderte nada.