关于 mitm-find-enumerable
此安全技能分析 mitmproxy 流量记录,查找标识符可枚举或模式可预测的端点,并报告参数、范围、暴露数据及修复建议。
主要功能
- 01查找连续或可预测的 ID
- 02检查弱编码标识符
- 03发现缺少分页限制的端点
- 04报告模式、范围和暴露数据
适用场景
- 01检查捕获流量中的可枚举端点
- 02评估批量获取资源的风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ instavm/ security-skills --skill mitm-find-enumerable安装后在 Claude Code 中输入/mitm-find-enumerable确认已加载。
详细介绍
查找可枚举端点
分析 mitmproxy 转储文件(log.txt),查找可枚举端点:$ARGUMENTS
需要:当前目录中必须有
log.txt。如果缺少该文件,请先捕获流量:mitmdump --set flow_detail=3 2>&1 | tee log.txt
什么样的端点可枚举
1. 顺序 ID
/api/user/1、/api/user/2、/api/user/3/order/100001、/order/100002/transaction/TXN00001
2. 可预测的模式
- 基于日期:
/report/2024-01-01 - 时间戳:
/log/1704067200 - 任意参数中简单递增的值
3. 薄弱的编码
- Base64 数字:
/profile/MTIzNDU=(12345) - 十六进制:
/data/0x1A2B - URL 安全的 base64
4. 无分页限制
/api/users?limit=999999/search?count=all
测试命令
# Sequential iteration
for i in {1..100}; do
curl -s "https://target.com/api/resource/$i" >> output.json
sleep 0.5
done
# Base64 iteration
for i in {1000..1100}; do
id=$(echo -n $i | base64)
curl -s "https://target.com/api/resource/$id"
done
# Date iteration
for d in {01..31}; do
curl -s "https://target.com/api/report/2024-01-$d"
done
输出格式
对于每项发现:
- 端点:URL 模式
- 参数:可迭代的内容
- 模式:顺序/Base64/日期等
- 示例范围:观察到的值
- 暴露的数据:每次迭代会揭示的内容
- 批量测试:用于批量提取的 curl 命令
- 修复方法:使用 UUID、添加身份验证、限制速率
评论
支持 Markdown