当前位置: 首页 > news >正文

加密请求包的爆破

本文来源无问社区,更多实战内容可前往查看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.mrgr.cn/news/2195.html

相关文章:

  • linux memory cgroup的memory.move_charge_at_immigrate含义
  • Elasticsearch 不允许直接修改现有索引的映射来添加新字段
  • 42.【C语言】冒泡排序
  • 分割回文串
  • Java复习(二)——算法与数据结构
  • CDD数据库文件制作(七)——服务配置(0x28)
  • 分享一个基于python爬虫的“今日头条”新闻数据分析可视化系统(源码、调试、LW、开题、PPT)
  • 【二叉树进阶】--- 根据二叉树创建字符串
  • 11结构型设计模式——外观模式
  • 知识改变命运 数据结构【栈和队列面试题】
  • Go 1.21在性能方面有哪些提升?
  • Java、python、php版的高校学生学习成长记录管理系统(源码、调试、LW、开题、PPT)
  • Stable Diffusion绘画 | ControlNet应用-Lineart(线稿):轻轻松松画线稿
  • java编程 斐波拉契数列算法集锦【斐波拉契数列】【上】
  • 苍穹外卖day10
  • JS获取当前浏览器名称
  • SQL触发器的级联魔力:数据完整性的守护者
  • 使用Seaborn绘制热力图
  • 18705 01背包问题
  • 注意!2024年下半年软考报名已开始