5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

admin 2025年3月10日13:05:56评论1 views字数 1647阅读5分29秒阅读模式

扫码领资料

获网安教程

5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

Track安全社区投稿~  

赢千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

img

HTTP 参数污染(HPP)是一种常被忽视的 Web 漏洞,发生在 Web 应用程序错误处理多个相同的 HTTP 参数时。攻击者可以操纵这些参数,以绕过安全控制、篡改输入验证或利用逻辑漏洞。在本文中,我们将探讨五种利用 HPP 漏洞的技术,并了解其对 Web 应用程序的影响。

1. 绕过安全控制

某些应用程序会基于单个参数值应用安全控制,例如身份验证、访问控制或速率限制。如果后端仅处理参数的第一个或最后一个出现的值,攻击者可以注入多个相同参数来覆盖或绕过这些安全控制。

示例:绕过身份验证

例如,考虑以下登录请求:

POST /login HTTP/1.1Content-Type: application/x-www-form-urlencoded username=admin&password=wrongpassword

如果应用程序仅处理参数的第一个或最后一个出现的值,攻击者可以注入:

username=admin&password=wrongpassword&password=correctpassword

如果后端仅处理最后一个 password 参数,攻击者可以使用 correctpassword 进行访问,从而绕过身份验证。

2. 操纵 SQL 查询

HPP 可用于向 SQL 查询注入意外的值,可能导致 SQL 注入。

示例:覆盖 ID 参数

考虑一个用于获取用户个人资料的查询:

SELECT * FROM users WHERE id = $_GET['id'];

如果攻击者发送以下payload:

GET /profile?id=1&id=2

根据后端处理重复参数的方式,这可能会导致:

SELECT * FROM users WHERE id =1,2;

如果数据库将 id = 2 解释为有效值,攻击者可能会查看其他用户的个人资料。

3. 篡改 API 调用

API 通常依赖查询参数进行身份验证或数据获取。通过注入多个值,攻击者可以覆盖 API 请求,访问未经授权的数据或修改用户操作。

示例:利用 API Key 参数

如果某个 API 使用 API Key 进行身份验证:

GET /api/data?user=123&apikey=valid-key

可以做如下尝试:

GET /api/data?user=123&apikey=invalid-key&apikey=valid-key

如果后端仅处理最后一个 apikey 参数,攻击者可以通过在末尾提供有效的密钥来绕过 API 限制。

4. 修改电商应用中的价格计算

电商平台通常会将产品价格和折扣作为参数传递。HPP 可用于操纵价格计算并应用意外的折扣。

示例:覆盖价格数值

POST /checkout product=123&price=100&price=1

如果应用程序仅处理最后一个 price 参数,攻击者可以以 $1 而不是 $100 购买产品。

5. 绕过输入验证和 WAF 规则

Web 应用防火墙(WAF)和输入验证机制通常针对单个参数进行检查。攻击者可以利用 HPP 来规避这些防护措施。

示例:绕过 XSS 过滤

假设 WAF 会拦截用户输入中的 <script> 标签:

comment=<script>alert(1)</script>

攻击者可能利用 HPP 绕过该限制:

comment=<scr&comment=ipt>alert(1)</scr&comment=ipt>

如果后台错误地重构了值,XSS 载荷将会执行。

HTTP 参数污染是一种强大的技术,可以用来绕过身份验证、篡改 API 调用、利用 SQL 查询、修改价格计算并规避安全控制。理解这些漏洞有助于安全研究人员和漏洞奖励猎人识别和报告 web 应用程序中的关键漏洞。

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月10日13:05:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   5 种利用 HTTP 参数污染 (HPP) 攻击的小技巧https://cn-sec.com/archives/3822285.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息