mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
4.7 KiB
4.7 KiB
参数污染
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS&HackTricks周边产品
- 探索PEASS家族,我们独家的NFTs收藏品
- 加入 💬 Discord群 或 电报群 或 关注我的Twitter 🐦 @carlospolopm。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
HTTP参数污染(HPP)概述
HTTP参数污染(HPP)是一种攻击技术,涉及操纵HTTP参数以改变Web应用程序的预期行为。这种攻击相对直接,但效果显著。尽管参数操纵发生在服务器端且对用户不可见,但客户端可以观察到产生的行为变化。
HTTP参数污染(HPP)示例
考虑银行应用程序的标准交易URL:
URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000
此URL启动了从accountA到accountB的10,000交易。然而,像这样引入另一个from
参数:
操纵后的URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC
可能导致交易从accountC扣除,而不是从accountA扣除。这说明了HPP如何用于操纵参数。值得注意的是,此漏洞不仅限于GET请求,还可以在POST请求中利用,跨越各种功能,如更改密码、双因素认证或API密钥传输。
重要的是要认识到参数解析取决于所使用的特定Web技术。诸如Wappalyzer之类的工具可用于识别Web技术并了解其参数解析行为。
PHP
利用HPP的一个显著实例涉及以下步骤:
- OTP操纵:
- 目标是请求OTP的登录页面。
- 发送OTP请求后,使用Burp Suite拦截了随后的HTTP请求。
- 另一个电子邮件被添加到请求中,有效地复制了
email
参数。 - 预期发送到第一个电子邮件的OTP错误地发送到第二个电子邮件,从而允许未经授权访问第一个帐户。
此事件突显了应用程序后端如何处理email
参数,利用第一个生成OTP,第二个用于OTP传递。
Flask和PHP中的参数解析
不同的Web技术以独特的方式解析参数。例如,对于类似a=1&a=2
的查询,Flask和PHP将以不同方式解释参数:
- **Flask:**采用第一个出现的值(a=1)。
- **PHP(在Apache HTTP服务器上):**采用最后一个出现的值(a=2)。
参数处理方式的差异可能会显著影响应用程序行为和对HPP攻击的易受性。有关更多详细信息,请参阅此文档。
参考资料
- https://medium.com/@shahjerry33/http-parameter-pollution-its-contaminated-85edc0805654
- https://github.com/google/google-ctf/tree/master/2023/web-under-construction/solution
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS&HackTricks周边产品
- 探索PEASS家族,我们独家的NFTs收藏品
- 加入 💬 Discord群 或 电报群 或 关注我的Twitter 🐦 @carlospolopm。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。