Bolt 一款CSRF扫描工具
工作流程
爬行
Bolt将目标网站抓取到指定的深度,并存储在数据库中找到的所有HTML表单以供进一步处理。
评估
在这个阶段,博尔特发现了不够强大的代币和不受保护的形式。
Comparing
此阶段的重点是检测重放攻击情形,从而检查令牌是否已发出多次。它还计算所有令牌之间的平均levenshtein距离,看它们是否相似。
还将令牌与250 散列模式的数据库进行比较。
观察
在此阶段,对单个网页发出100个同时请求,以查看是否为请求生成了相同的令牌。
测试
此阶段专门用于CSRF保护机制的主动测试。它包括但不限于检查移动浏览器是否存在保护,使用自生成令牌提交请求以及测试令牌是否被检查到一定长度。
分析
在该阶段中执行各种统计检查以查看令牌是否真的是随机的。在此阶段进行以下测试
单比特频率测试
块频率测试
运行测试
非重叠模板匹配测试
重叠模板匹配测试
串行测试
Cumultative sums测试
等
用法
python3 bolt.py -u https://github.com -l 2
-u用于提供URL和-l用来指定爬行的深度。
其他选项:
-t 线程数
--delay 请求之间的延迟
--timeout http请求超时
--headers 提供http标头
文章参考及下载:https://github.com/s0md3v/Bolt
你可能喜欢