4个版本 (2个稳定版)
1.0.1 | 2021年7月19日 |
---|---|
1.0.0 | 2021年7月15日 |
0.1.0 | 2021年7月6日 |
0.0.1 | 2021年7月4日 |
在#赏金猎人中排名#7
30KB
1K SLoC
ppfuzz
原型污染模糊测试器
一个用Rust编写的快速扫描客户端原型污染漏洞的工具。🦀
安装
二进制文件
简单地,从发布页面下载预构建的二进制文件并运行!
源代码
注意: 应已安装Rust! |
使用cargo
▶ cargo install ppfuzz
— 或者
从源代码手动构建可执行文件
▶ git clone https://github.com/dwisiswant0/ppfuzz
▶ cd ppfuzz && cargo build --release
# binary file located at target/release/ppfuzz
依赖项
ppfuzz 使用 chromiumoxide,需要安装 Chrome 或 Chromium 浏览器。如果设置了 CHROME
环境变量,则将其用作默认的可执行文件。否则,将在标准位置搜索文件名 google-chrome-stable
、chromium
、chromium-browser
、chrome
和 chrome-browser
。如果失败,将咨询 /Applications/Google Chrome.app/...
(在MacOS上) 或注册表 (在Windows上)。
演示
如上所示,ppfuzz 通过添加对象和指针查询尝试检查原型污染漏洞,如果确实存在漏洞:它将指纹所使用的脚本小工具,并显示可能将其影响升级为XSS、绕过或cookie注入的附加有效载荷信息。
用法
使用 ppfuzz 非常简单!
▶ ppfuzz -l FILE [OPTIONS]
基础
使用 -l/--list
提供输入列表
▶ ppfuzz -l FILE
您也可以通过I/O重定向提供列表
▶ ppfuzz < FILE
— 或者从另一个命令输出中链式调用
▶ cat FILE | ppfuzz
仅显示易受攻击的目标/抑制错误
▶ ppfuzz -l FILE 2>/dev/null
选项
以下是它支持的所有选项
▶ ppfuzz -h
标志 | 描述 | 默认值 |
---|---|---|
-l, --list | 目标URL列表 | |
-c, --concurrency | 设置并发级别 | 5 |
-t, --timeout | 最大连接时间 (秒) | 30 |
-h, --help | 打印帮助信息 | |
-V, --version | 打印版本信息 |
支持材料
贡献
当我开始使用 ppfuzz 时,我对Rust知之甚少或一无所知,我相信可能存在很多缺点/安全漏洞。所以欢迎所有贡献,当然 —— 任何错误报告和建议都备受赞赏,一些环境尚未经过测试。
归属
除了作为我的学习媒介,这个工具的创建还受到了 @R0X4R 关于 如何使用 page-fetch 自动化原型污染检查 的提示的启发。
受 crodjer 的 sysit 启发的 GitHub 工作流交叉编译。
致谢
由于这个工具包含一些贡献,我将公开感谢以下用户提供的帮助和资源
- @mattsse - 他出色的 chromiumoxide 及对我的指导,这对快速适应Rust帮助很大!
Fourty2#4842
(Discord) - 对于有用的解决方案。- 所有贡献者.
许可协议
ppfuzz 采用MIT协议发布。请参阅 LICENSE
。
依赖项
~17–29MB
~478K SLoC