____ ________ __________ __
/ __ \_ ______ / ____/ /_/ __/_ __/___ ____ / /
/ /_/ / | /| / / __ \/ / / __/ /_ / / / __ \/ __ \/ /
/ ____/| |/ |/ / / / / /___/ /_/ __/ / / / /_/ / /_/ / /
/_/ |__/|__/_/ /_/\____/\__/_/ /_/ \____/\____/_/
作者:DiegoAltF4 和 Dbd4
它既可以在本地使用,也可以远程使用(指定 IP 和端口)。它会自动查找栈中存储的指令指针偏移量。
此外,还可以配置为返回一个 shell。默认情况下,它会打印连接接收到的数据(可能的 flag)。
它还允许显示栈中指令指针的偏移量,支持 x86 架构的 32 位和 64 位,并可用于通过 GDB 调试漏洞利用。
| 参数 | 说明 |
|---|---|
| -f | 指定要利用的二进制文件(必选参数)。 |
| -t | 指定要跳转的目标函数(必选参数)。 |
| -v | 指示详细输出模式。 |
| -vv | 指示最高详细级别,调试模式。 |
| -g | 允许附加 GDB 以便调试。 |
| --offset | 打印指令指针的偏移量。 |
| --shell | 允许在利用后维持交互式会话。 |
| --remote | 允许在远程服务器上进行利用。 |
| --before | 允许在有效载荷之前添加来自文件的内容。 |
| --after | 允许在有效载荷之后添加来自文件的内容。 |
./PwnCtfTool.py -f vuln.bin -t flag_func
在这一部分,我们将通过示例解释该工具的不同用法。我们已经上传了一系列易受攻击的二进制文件,并将在添加新选项时更新此列表。 为了方便查找信息,我们将指明用于最终命令的参数,该命令能够利用该二进制文件。此外,我们将使用 💣 表情符号对挑战的难度进行分级。一个炸弹表示非常简单,五个炸弹表示难度非常高。 对于每个挑战,我们都会提供一个简短的 writeup,更详细地解释如何得出解决方案。
使用
-f-t--shell--offset参数
有关完整说明,请阅读 writeup:
最终命令:
python3 ../../PwnCtfTool.py -f ./vuln1 -t win --shell --offset
使用
-f-t--before--shell参数
有关完整说明,请阅读 writeup:
最终命令:
python3 ../../PwnCtfTool.py --before before2.txt -f vuln2 -t rce --shell
git clone https://github.com/Diego-AltF4/PwnCtfTool.git
cd ./PwnCtfTool
pip3 install -r requirements.txt
chmod +x PwnCtfTool.py
./PwnCtfTool.py
由 DiegoAltF4 和 Dbd4 创建