src漏洞挖掘篇之前端接口爬取测试思路
字数 951 2025-08-10 08:28:09
前端接口爬取测试思路 - SRC漏洞挖掘指南
1. 前言
在SRC漏洞挖掘过程中,前端接口的发现和测试是一个重要环节。本文详细介绍如何通过分析前端JavaScript文件来发现隐藏接口,为后续漏洞测试提供基础。
2. 寻找所有JS文件的方法
2.1 识别Webpack打包的网站特征
Webpack打包的网站通常有以下特征:
- JS文件名格式为
chunk-XXX.js或其他类似格式 - 主JS文件中会包含所有其他JS文件的引用
2.2 查找已加载JS文件中的线索
- 使用浏览器开发者工具查看已加载的JS文件
- 全局搜索JS文件特征(如
chunk、static/js等关键字) - 查找包含所有JS文件引用的主文件
3. 爬取JS文件的Python脚本实现
3.1 脚本功能
- 从文本文件中读取JS文件路径列表
- 批量请求下载所有JS文件
- 使用正则表达式提取接口URL
- 去重并规范化接口格式
3.2 完整脚本代码
import requests
import re
result = set() # 使用集合自动去重
with open('js.txt', 'r') as file:
for line in file:
line = line.strip()
r = requests.get('https://xxx.xxx.com/static/js/' + line, verify=False)
data = re.findall(r'url:"(.*?)"', r.text) # 匹配接口URL
for url in data:
result.add(url)
# 规范化URL格式(统一添加斜杠)
list = []
for url in result:
if not url.startswith('/'):
url = '/' + url
list.append(url)
# 将结果导出到文件
with open('99999.txt', 'a') as output_file:
for url in list:
output_file.write(url + '\n')
3.3 脚本使用说明
- 准备
js.txt文件,包含所有JS文件路径(每行一个) - 修改脚本中的基础URL(
https://xxx.xxx.com/static/js/) - 根据需要调整正则表达式(示例中使用
url:"(.*?)") - 运行脚本生成接口列表文件
99999.txt
4. 后续测试思路
4.1 使用Burp Suite进行批量测试
- 将生成的接口列表导入Burp Intruder
- 设计测试用例:
- 未授权访问测试
- 参数fuzz测试
- HTTP方法测试(GET/POST/PUT/DELETE等)
4.2 常见漏洞测试点
- 未授权访问:直接访问接口看是否需要认证
- IDOR:修改参数测试水平/垂直越权
- 敏感信息泄露:检查接口返回数据
- SQL注入:对参数进行注入测试
- XSS:测试反射型XSS可能性
5. 注意事项
- 合法性:确保测试在授权范围内进行
- 频率控制:避免高频请求导致服务不可用
- 数据安全:不要泄露获取的敏感信息
- 正则优化:根据目标网站特点调整正则表达式
6. 总结
通过分析前端JS文件发现隐藏接口是SRC挖掘中的重要技术手段。结合自动化脚本和手动测试,可以有效提高漏洞发现的效率。关键在于:
- 全面收集JS文件
- 准确提取接口URL
- 系统性地测试每个接口