【接口漏洞第四章第一节】赏金猎人进阶:手把手教你挖出API的“暗参数”

admin 2026-01-11 01:13:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文讲解了API隐藏参数的概念及挖掘方法,重点介绍了使用BurpIntruder进行自动化词表探测和ParamMiner插件进行智能上下文猜测的战术。通过结合实际案例演示了如何发现未文档化的参数如status或type,以利用这些漏洞进行越权访问或逻辑绕过,为赏金猎人提供了进阶测试思路。 综合评分: 89 文章分类: 渗透测试,WEB安全,漏洞分析,SRC活动,安全工具


cover_image

【接口漏洞第四章第一节】赏金猎人进阶:手把手教你挖出API的“暗参数”

原创

升斗安全XiuXiu

升斗安全

2026年1月9日 19:07 广东

【文章说明】

  • 目的:本文内容仅为网络安全技术研究与教育目的而创作。
  • 红线:严禁将本文知识用于任何未授权的非法活动。使用者必须遵守《网络安全法》等相关法律。
  • 责任:任何对本文技术的滥用所引发的后果自负,与本公众号及作者无关。
  • 免责:内容仅供参考,作者不对其准确性、完整性作任何担保。

阅读即代表您同意以上条款。

在上一节中,我们已经知道怎么样去挖掘寻找可能存在的api端点了,但找到端点后,请求参数这块,我们又该如何进行查找和挖掘呢?今天我们就针对这块内容进行输出。

首先,我们要知道API隐藏参数是什么?

  • 定义:这些是API接口文档中未明确列出、但后端代码实际会接收和处理的参数。
  • 来源:通常是由于开发疏忽(如测试参数未移除)、功能迭代残留、内部调试接口暴露、或是故意留下的“后门”。
  • 危险性:攻击者可以利用这些参数来绕过业务逻辑、越权访问数据、改变应用状态,甚至可能引发注入攻击。例如,一个isAdmin=false的参数,如果存在对应的隐藏参数admin=true,就可能直接提权。

接下来结合工具,我们一起详解API参数发现战术

工具主要为Burp Suite中的一些插件和自带功能,这可以构成一套完整的“参数火力侦察”流程:

  1. 前期侦察与信息收集

目标:了解目标API的结构、使用的框架、命名习惯等。

方法:

  • 手动测试应用,捕获所有API请求;
  • 分析JavaScript文件;
  • 查看公开文档或旧版API。

例如,如果你发现API路径中有/api/v1/users/{id},并且使用sortBy=name参数,那么你的自定义词表就应该加入sortOrder、filterBy、groupBy等类似风格的参数名。

  1. 大规模自动化探测 – Burp Intruder

场景:当你有一个正常的API请求(如 POST /api/updateProfile),想测试它是否接受其他参数。

操作步骤:

  1. 发送一个合法请求到Intruder。
  2. 在参数值(或添加新参数的位置)设置载荷标记。
  3. 加载一个庞大的常见参数名词表(如debug, test, admin, redirect, callback, jsonp等)。

Intruder会自动化地,用每个词表中的名称替换或添加参数,发送大量变体请求。

如何判断参数有效?

  • 响应长度不同:隐藏参数可能返回额外的数据。
  • 响应时间差异:某些参数可能触发复杂的数据库查询。
  • 状态码变化:从200变成500(可能触发错误),或从403变成200(可能绕过权限)。
  • 响应内容变化:出现新的字段或不同的错误信息。
  1. 智能上下文猜测 – Param Miner 插件

进阶之处:它不仅仅是“词表轰炸”。

  • 递归提取:它会从当前请求/响应(如Cookie头、现有参数名、JSON键名)中提取词汇,基于这些词汇生成变体进行猜测。例如,看到一个参数叫userId,它会自动生成user_id, userID, User-Id等。
  • 启发式算法:内置算法能生成诸如api_key, token, auth等常见认证参数名。
  • 针对性强:正如原文所说 “based on information taken from the scope”,它更智能,猜测命中率更高。

使用方法:设置好相关配置后,对重点接口手动运行,进行深度、智能的探测。

一个完整的工作流示例

假设我们对一个社交媒体应用的API进行测试:

  1. 手动浏览:使用App或网页,捕获到请求 GET /api/v1/posts?limit=10。

  2. 初步分析:响应返回10篇公开帖子。我们怀疑可能存在过滤作者或状态的参数。

  3. 使用Intruder:用词表[“author”, “userId”, “status”, “draft”, “private”, “since”, “until”] 对 limit 参数值进行狙击模式攻击,或直接添加这些参数。

    【发现当添加 status=draft 时,响应长度变短,且内容不同——成功发现一个隐藏参数,可能泄露了未发布的草稿。】

  4. 使用Param Miner:对同一个请求右键,运行Param Miner。它可能从posts这个端点名猜测出 postId, type, category 等参数。

【发现添加 type=story 时,返回了另一种格式的帖子。】

好了,关于api接口中可能存在的隐藏参数挖掘,今天就介绍到这。文章对你有用的话,欢迎关注,这边会持续输出与网络安全、漏洞挖掘有关的文章内容。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:升斗安全 升斗安全XiuXiu《【接口漏洞第四章第一节】赏金猎人进阶:手把手教你挖出API的“暗参数”》

评论:0   参与:  0