针对Web应用的高级备份文件工件测试

BFAC(备份文件工件检查器)是一种自动化工具,用于检查可能泄露Web应用源代码的备份工件。这些工件还可能导致敏感信息泄露,例如密码、目录结构等。
BFAC的目标是成为备份文件工件黑盒测试的一体化工具。
| 描述 | 命令 |
|---|---|
| 帮助 | bfac --help |
| 检查单个URL。 | bfac --url http://example.com/test.php |
| 检查URL列表。 | bfac --list testing_list.txt |
| 使用不同级别(例如级别2)的单个URL。 | bfac --url http://example.com/test.php --level 2 |
| 单个URL并仅显示结果。 | bfac --no-text --url http://example.com/test.php |
| 将测试限制为暴露的DVCS测试。 | bfac --dvcs-test --url http://example.com/ |
| 仅通过Content-Length检查来验证文件是否存在。 | bfac --detection-technique content_length http://example.com/test.php |
| 仅通过状态码检查来验证文件是否存在。 | bfac --detection-technique status_code http://example.com/test.php |
| 排除具有特定状态码的结果。 | bfac --exclude-status-codes 301,999 http://example.com/test.php |
import bfac
testing_level = 5
# 返回 http://example.com/test.php 的BFA模式列表
bfa_urls = bfac.generate_bfa_urls(
'http://example.com/test.php', testing_level=testing_level)
# 使用BFAC执行BFA测试,并返回发现结果列表(如果有)。
# 如果未识别到任何结果,则返回空列表。
bfa_testing_result = bfac.test_url(
'http://example.com/test.php', testing_level=testing_level)
sudo python setup.py install
该项目目前支持所有运行Python的平台。 该项目兼容Python 2和Python 3。
问: 如何让BFAC使用所有级别?
答:
默认情况下,BFAC会运行所有级别。如果您想降低使用的测试级别,可以通过将 --level 标志设置为一个较低的值来实现。
问: BFAC如何确定文件是否真实存在于Web服务器上?
答: BFAC的检测方法与常规安全工具不同。
常规安全工具通过检查HTTP状态码来确定文件是否存在于服务器上。由于系统管理员可能会伪造HTTP请求的状态码以欺骗安全工具和机器人,BFAC实现了一种额外的方法。
它会检查无效或不可用的Web资源的一般响应。然后发送请求,并将请求的响应大小与初始基准进行比较。
--detection-technique all 同时使用HTTP状态码检查和HTTP Content-Length两种方法。--detection-technique status_code:仅使用HTTP状态码检查。--detection-technique content_length:仅使用HTTP Content-Length检查。非常欢迎社区对BFAC项目的贡献。如果您发现错误、有功能设想、有改进代码结构的想法,或任何其他事项,请随时提交问题或拉取请求。
问题跟踪器是提交错误报告和功能请求的首选渠道。
本项目仅用于教育和道德测试目的。未经事先双方同意,使用BFAC攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对因使用本程序而导致的任何误用或损害负责。
该项目目前采用GNU GPLv3.0许可证。
Mazin Ahmed