关于Todesstern
Todesstern是一款功能强大的变异器引擎,该工具基于纯Python开发,该工具旨在辅助广大研究人员发现和识别未知类型的注入漏洞。
Todesstern翻译过来的意思是Death Star,即死亡之星,该工具是一个变异器引擎,专注于发现和识别未知类型的注入漏洞。该工具可以从用户给定的字符串生成大量变异的Payload,并将其用于查找异常情况。需要注意的是,该工具虽然可以帮助广大研究人员发现异常,但我们仍然需要进一步分析可能导致漏洞出现的输出结果。
强烈建议广大研究人员在将其用于真实场景之前,使用Portswigger Labs进行学习和练习,以更好地使用Todesstern。
引擎配置
在使用该工具之前,我们需要根据实际情况修改config.ini配置文件,文件中提供的默认配置是进行Web应用程序安全测试时的标准测试值,但我们也可以进行调整,下面给出的是支持自定义的参数选项:
canary:默认值为“canary”,该值用于搜索输出结果以供分析使用,该值会添加在变异字符串的开头和结尾,例如“canaryhelloworldcanary”; input_string:进行变异操作的字符串,它可以是一个简单的字符串,或自定义Payload; fuzzer_engine:可选项包括essential/all,该选项可以生成变异Payload,如果设置为essential(默认),引擎将生成数量更少但更精准的变异Payload,该选项建议在进行Web应用程序测试时使用。如果设置为all,引擎将生成更适用于缓冲区溢出、资源敏感性任务处理或崩溃相关漏洞(DoS)场景的Payload; payload_complexity:可选项包括low/high,如果设置为low,引擎只会对原始输入执行一次变异,如果设置为high,引擎会将变异Payload作为输入发送至另一个变异循环中; mutation_rate:默认为0.2,该值设置范围为0-1,0表示几乎没有变异,1表示变异程度最高,当设置为1时,Payload长度会变长; max_mutations:默认为20,针对每一个变异规则要生成的变异字符串数量;
工具安装
由于Todesstern工具基于纯Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/kleiton0x00/Todesstern.git
cd Todesstern
工具运行
该工具不需要任何其他的依赖,配置好config.ini文件后,就可以直接使用下列命令来启动Todesstern了:
python3 todesstern.py
引擎将会把变异Payload存储到mutations.txt文件中,我们建议广大研究人员可以多次运行脚本以获取更丰富的变异结果。
接下来,打开Burp Suite,将你想要发送的HTTP请求发送给Intruder,然后点击Positions标签,标记好需要用变异内容替换的Payload。
切换到Settings标签,点击Grep->Extract->Add,在右边弹出的标签页中,粘贴下列正则表达式:
canary(.*?)canary
此时的界面大致如下:
点击OK,此时将添加一个grep条目:
切换到Payloads标签页中,加载mutations.txt文件,此时将看到Payload被全部加载:
返回Payloads标签页,并启动测试。在结果表中,将能够查看到下列信息(主要是Payloads和canary(.*?)canary列):
工具使用演示
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
Todesstern:【GitHub传送门】
参考资料
https://portswigger.net/web-security/all-labs