Skip to content

NSFOCUS API_Sword:A Burp Suite extension, Automatically recursively collect API endpoints from any response

Notifications You must be signed in to change notification settings

Sugobet/API_Sword

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 

Repository files navigation

[EN-ReadMe] <------ please read this

微信公众号:APT250

秉着开源至上、交流学习的原则,API剑将于两周后(9月7日后)开源并同时上架Burp官方插件商店BApp Store,方便大家日后更新和使用

[burp新经典插件] API剑 - 全自动深度 收集各种响应中的API接口

jar包在release,之后上架burp官方插件商店后也可从商店下载

前言

这个插件结合了我近期的工作内容和此前我的4万美刀赏金微软账户漏洞api的部分经验,

API剑开发者利用API剑已多次在项目上获得成果及通用0day,拥有此工具后,我再也没有手动从任何js里痛苦的查找任何接口、路径及参数。

在这里插入图片描述

与众多JS Finder、URLFinder等比较火热的相关js、api挖掘工具类似,它们是非常优秀的工具,而API剑凭借burp的特点而获得能力和优势。

插件主页面截图:

在这里插入图片描述

API剑的主要功能

API剑 全自动防环路,从各种响应里提取指定范围内的api和js文件,然后递归深度提取api,主动请求api、js等有价值文件

api结果所见即所得,右边的窗口显示api的来源js,可以立刻从js里面获得api的参数信息,然后burp再ctrl + r一键过去测

它没有想象的那么复杂,API剑做的事情更多是为我们减少了大量重复耗时且无趣的js、api、api参数搜寻工作。

  1. API剑捕获经过burp的范围内的流量,并从http响应中提取绝大多数link
  2. API剑将对上一步提取的任意链接、路径进行清洗,并由API剑判断后对API、JS等主动发起GET、POST请求
  3. API剑对上一步主动请求的响应进一步的处理,继续从响应中提取信息,并重复上一步的动作,API剑具有防环路功能,无需担心死循环请求问题
  4. API剑对所有符合条件的API请求、响应,以及该API接口来源的js文件响应,全部推送到API剑的burp GUI中
  5. API剑自动将所有相关请求添加至burp的target sitemap中,您可在target的sitemap的分析等功能中尽情享受API剑带来的果实

用户只需要启用API剑并设置一个“合理的范围”,接着在浏览器中继续点击web系统的各种功能,让所有流量经过burp,最终交给API剑做分析处理,API剑将会向您返回您想要的恶魔果实。

考虑到opsec等操作安全风险,目前API剑不会主动fuzz参数,如果后续有需求再额外添加作为可选功能。

如何使用?

API剑的使用非常的简单,

  1. 将插件安装至burp 2024以后的版本,确保插件无任何报错
  2. 为插件设置Scope
  3. 打开浏览器确保浏览器的流量会通过burp
  4. 进入目标网站,点击和测试任何在网站中看到的一切
  5. 过一段时间后,从API剑的Sitemap检查果实

API剑的设置

在Scope选项卡中,我们可以设置范围,范围可以是url、域名、ip

image

这个范围特别重要,建议谨慎考虑,否则容易扫到外太空去。

设置好范围后我们再看Setting选项卡

image
  1. 允许主动对API请求

这个选项默认开,不建议关,否则API剑无法更深层提取数据

  1. 是否使用原headers

默认开,如果想专门测试未授权api接口,可以把这个选项关掉,关掉后不会携带任何cookie或session等信息

  1. 立即停止发送所有请求

默认关,避免遇到突发情况想暂停,用来刹车的,建议搭配第一个选项一起使用

  1. 清除当前SiteMap所有数据

这个按钮用于清除API剑的Site Map中的所有站点数据

在这里插入图片描述

  1. 启用主动http请求速率

限制每个请求的间隔时间

  1. 是否在主动请求时额外添加自定义路径请求

启用该选项后,API剑会在拼接前为主URL添加指定的自定义路径后再进行拼接

  1. 过滤掉非200的自定义响应码

  2. 允许API剑主动从响应中寻找baseURL并主动对baseURL进行路径拼接

  3. 添加自定义header字段:(自动覆盖已有的header字段)

  4. 启用绕过危险接口访问(接口包含字符串则跳过)

  5. 保存范围及所有设置

  6. 是否在API接口后、参数前额外添加自定义路径

  7. 线程数量控制

其它设置待开发和完善,如有任何想法建议和问题,可通过github上提issue反馈

致谢

感谢 Microsoft

感谢 我的绿盟导师

感谢 mil1ln

感谢 探姬

感谢 所有在测试阶段为API剑提供宝贵意见和反馈的所有人

感谢以上所有人为API剑提供的一切支持!

TODO

  1. 收集一件梅花K的polo衫 ⬛️
  2. 添加可选的base url路径fuzz ✅
  3. 添加自定义响应码过滤 ✅
  4. 添加API剑主动请求时,添加自定义base路径的选项 ✅
  5. 优化了匹配策略,解锁API剑性能80% ✅
  6. API剑主动请求优化,避免访问危险api ✅
  7. 解决burp默认header不携带CT字段的问题 ✅
  8. 优化响应table的tags宽度 ✅
  9. 修复sitemap的ui闪烁问题 ✅
  10. 添加自定义请求头可选功能 ✅
  11. 添加响应列表的tags自动排序 ✅
  12. 优化匹配策略 ✅
  13. 优化代码块 ⬛️
  14. 注册burp卸载处理 ✅
  15. 全代码添加中英双语可阅读代码注释 ⬛️
  16. gui添加中英双语切换功能 ✅
  17. 优化ui造成burp卡顿、渲染问题 ✅
  18. 添加保存范围和配置的功能 ✅
  19. 添加主动http请求速率功能 ✅
  20. 添加多线程功能 ✅
  21. 添加接口后、参数前的自定义路径功能 ✅
  22. 紧急修复因多线程导致防环逻辑失效问题 ✅
  23. 修复自动排序存在显示出错问题 ✅
  24. 优化API列表的UI,插入数据时,方向键不再会被打断施法 ✅
  25. 彻底修复因多线程导致防环逻辑依然失效的bug ✅
  26. 添加过滤器 ⬛️

About

NSFOCUS API_Sword:A Burp Suite extension, Automatically recursively collect API endpoints from any response

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages