5.7 KiB
Contaminación de Parámetros
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén productos oficiales de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
Visión General de la Contaminación de Parámetros HTTP (HPP)
La Contaminación de Parámetros HTTP (HPP) es una técnica de ataque que implica la manipulación de parámetros HTTP para alterar el comportamiento esperado de una aplicación web. Este tipo de ataque es relativamente sencillo pero puede ser sorprendentemente efectivo. Aunque la manipulación de parámetros ocurre en el lado del servidor y no es visible para el usuario, los cambios de comportamiento resultantes pueden ser observados en el lado del cliente.
Ejemplo de Contaminación de Parámetros HTTP (HPP)
Considera una URL estándar de transacción para una aplicación bancaria:
URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
Esta URL inicia una transacción de 10,000 desde la cuentaA a la cuentaB. Sin embargo, introducir otro parámetro from
de la siguiente manera:
URL Manipulada: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
podría resultar en que la transacción se descuente de la cuentaC en lugar de la cuentaA. Esto ejemplifica cómo se puede utilizar HPP para manipular parámetros. Es importante destacar que esta vulnerabilidad no se limita a las solicitudes GET, sino que también puede ser explotada en solicitudes POST en diversas funcionalidades como cambios de contraseña, autenticación de dos factores o transmisiones de claves API.
Es importante reconocer que el análisis de parámetros depende de la tecnología web específica utilizada. Herramientas como Wappalyzer pueden ser utilizadas para identificar tecnologías web y comprender sus comportamientos de análisis de parámetros.
PHP
Un ejemplo notable de explotación de HPP involucró los siguientes pasos:
- Manipulación de OTP:
- Se tenía como objetivo una página de inicio de sesión que solicitaba un OTP.
- Después de enviar una solicitud de OTP, la solicitud HTTP subsiguiente fue interceptada utilizando Burp Suite.
- Se agregó otro correo electrónico a la solicitud, duplicando efectivamente el parámetro
email
. - El OTP destinado al primer correo electrónico fue enviado por error al segundo correo electrónico, permitiendo el acceso no autorizado a la primera cuenta.
Este incidente destaca cómo el backend de la aplicación procesaba los parámetros email
, utilizando el primero para la generación de OTP y el segundo para la entrega de OTP.
Análisis de Parámetros en Flask y PHP
Diferentes tecnologías web analizan los parámetros de manera única. Por ejemplo, con una consulta como a=1&a=2
, Flask y PHP interpretarán el parámetro de manera diferente:
- Flask: Toma la primera ocurrencia (a=1).
- PHP (en el Servidor HTTP Apache): Toma la última ocurrencia (a=2).
Esta diferencia en el manejo de parámetros puede impactar significativamente en el comportamiento de la aplicación y en la vulnerabilidad a ataques de HPP. Se pueden encontrar más detalles al respecto en este artículo.
Referencias
- https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
- https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
- Si deseas ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Obtén productos oficiales de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.