Todesstern:一款针对注入漏洞识别的强大变异器引擎

2024-04-09 17:44

本文主要是介绍Todesstern:一款针对注入漏洞识别的强大变异器引擎,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于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

Burp Suite - Application Security Testing Software - PortSwigger

GitHub - PortSwigger/backslash-powered-scanner: Finds unknown classes of injection vulnerabilities

Welcome to Python.org

这篇关于Todesstern:一款针对注入漏洞识别的强大变异器引擎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888816

相关文章

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Java Spring的依赖注入理解及@Autowired用法示例详解

《JavaSpring的依赖注入理解及@Autowired用法示例详解》文章介绍了Spring依赖注入(DI)的概念、三种实现方式(构造器、Setter、字段注入),区分了@Autowired(注入... 目录一、什么是依赖注入(DI)?1. 定义2. 举个例子二、依赖注入的几种方式1. 构造器注入(Con

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要