最近做了些 IS Audit 项目(所以公众号文章写少了),期间少不了要做渗透测试。与本文相似的利用 AI 执行渗透测试的文章也不少,全自动连 SQL 注入都做了。但笔者本篇只聚焦在渗透测试的一个关键前期环节上:
如何找出测试对象可利用的 API 接口。
笔者:国际注册信息系统审计师、软考系统分析师、软件工程硕士
其实看完标题估计不少读者都知道该怎么干了,不过作为主要面向甲方的网安科普来说,笔者觉得多少都应写一下。
本文无图,因为懒得打码。
API 安全是网络安全的重灾区,OWASP 直接将其列为专门的一个项目来跟踪[1]。
渗透测试作为 IS Audit 或者等级保护测评过程必要的一环,需要尽可能简单、快速尤其是容易让甲方理解做了什么。
但有经验的读者都知道,对 API 接口的初始分析过程本身就是相当耗时耗力但也肯定绕不过而必须做的一件事,如果还要结合渗透测试向没有专业背景的甲方解释分析过程,谁都没有动力去做。
但客户的理解尤其关键!所以就要找办法把时间分配的重心转移到客户一侧,这也就是本文的目的。
HAR 即 HTTP Archive,文件内记录了通过 HTTP/HTTPS 协议实现网站访问交互过程的全部内容。产生该文件的最直接操作方式是按F12调出浏览器的开发者工具,切换到“网络”一页,然后把交互过程导出为 HAR 文件。
有条件有能力的还可以自己写程序(让 AI 写程序)自动执行交互过程和记录 HAR 文件,典型如利用 BrowserMob Proxy[2] 实现这个过程。
导出的 HAR 文件内包含有 HTTP 协议的交互过程,即 REQUEST/RESPONSE 记录,以及所有的在本次交互中双向传输的内容,HTML页面,JS文件,等等。