加密请求包的爆破

2024-08-21 03:36
文章标签 加密 请求 爆破

本文主要是介绍加密请求包的爆破,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文来源无问社区,更多实战内容可前往查看icon-default.png?t=N7T8http://wwlib.cn/index.php/artread/artid/10414.html

在平时进行漏洞挖掘的时候经常会在诸如登陆的地方遇到密码经过了加密,而且不是也 base64 或者 md5 啥的,而可能是 RSA 之类的,这就会对爆破造成很大的阻碍,因为 burp 其自带的编码和 hash 算法已经不够用了,因此我找到了一款插件:BurpCrypt

插件下载地址:

https://github.com/whwlsfb/BurpCrypto

BurpCrypto 内置的 RSA、AES、DES 模块可应对较为简单的前端加密接口,较为复杂的加密算法,可使用 ExecJS 模块直接手动编写处理代码。

对称加密

Base64 编码与 HEX 编码常常用于编码二进制数据

UTF8String 则是我们操作系统、网页中最常见的字符串的编码方式,下方是对 test_z 进行 Base64、HEX、UTF8String 编码的示例:

Base64:dGVzdF96HEX:746573745f7aUTF8String:test_z

AES 和 DES 加密都属于对称加密算法,既加解密使用同一套密钥的加密算法,同时也是目前前端加密中较为常见的加密算法

非对称加密

RSA 算法则属于非对称加密算法,密钥分为公钥与私钥,RSA 加密支持两种公钥格式的输入,分别为

  • X509
  • ModulusAndExponent

X509 密钥格式表现为一串由 Base64 编码后的字符串,常常以 MIG 开头。

ModulusAndExponent(模数,指数) 则表现为两个 HEX 编码的参数,Modulus 是模数,常常较长,Exponent 是指数,常常只有 6 位,以下为密钥示例:

X509:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCC0hrRIjb3noDWNtbDpANbjt5Iwu2NFeDwU16Ec87ToqeoIm2KI+cOs81JP9aTDk/jkAlU97mN8wZkEMDr5utAZtMVht7GLX33Wx9XjqxUsDfsGkqNL8dXJklWDu9Zh80Ui2Ug+340d5dZtKtd+nv09QZqGjdnSp9PTfFDBY133QIDAQAB

ModulusAndExponent:

Modulus: A1E4D93618B8B240530853E87738403851E15BBB77421F9B2377FB0B4F1C6FC235EAEC92EA25BB76AC221DCE90173A2E232FE1511909C76B15251D4059B288E709C1EF86BCF692757AAD736882DD1E98BEDFED9311A3C22C40657C9A52880BDC4B9E539041D44D52CB26AD13AB086F7DC294D144D6633A62EF91CA1775EB9A09Exponent: 010001

使用

首先判断相关接口的加密算法,然后填入相应算法的密钥,点击 Add processor,在弹出的加密配置命名输入对话框中,给予一个易于分辨的名称,提示 Apply processor success! 即表示成功。

在 intruder 中调用

【以 RSA 为例】

首先在网页中定位到 RSA KEY

将其复制出来,并且去掉其中所有的 \ n(不然会导致错误)

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUEYw/vsiCBE2Mt4QwUXZQxMkMmHPnwYdbSv44Hq5TXZX5Qyj9sVVvJ74l9f4DaINnT3Yd3Ntkj+rdJWbB/hYhrPN2DrqYYO8ukzmNBYPRYYjsslo59B/lquFR2/c/mYXk6XcSBVi9VUiItWpMki24+Zm/Bn80q1Hqm6cWZI/9ZQIDAQAB

放进 BurpCrypto 对应的 RSA 加密模块,这里根据特征,可以知道 key 的格式是 X509 的,然后点击 Add processor

在弹出的对话框中取个名字,然后确定即可。

接着在 Intruder 模块中,添加好需要爆破的变量和字典,在 Payload Processing 中选择 Invoke Burp extension,选择刚刚创建好的处理器,就可以了

这篇关于加密请求包的爆破的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

SpringBoot3使用Jasypt实现加密配置文件

《SpringBoot3使用Jasypt实现加密配置文件》这篇文章主要为大家详细介绍了SpringBoot3如何使用Jasypt实现加密配置文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编... 目录一. 使用步骤1. 添加依赖2.配置加密密码3. 加密敏感信息4. 将加密信息存储到配置文件中5

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

Java实现MD5加密的四种方式

《Java实现MD5加密的四种方式》MD5是一种广泛使用的哈希算法,其输出结果是一个128位的二进制数,通常以32位十六进制数的形式表示,MD5的底层实现涉及多个复杂的步骤和算法,本文给大家介绍了Ja... 目录MD5介绍Java 中实现 MD5 加密方式方法一:使用 MessageDigest方法二:使用

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排