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

相关文章

深入浅出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. ‌性能要

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2