记一次测试过程中登录参数加密逆向分析

admin 2023年4月22日19:35:58评论23 views字数 1753阅读5分50秒阅读模式

扫码领资料

获网安教程

免费&进群

记一次测试过程中登录参数加密逆向分析
记一次测试过程中登录参数加密逆向分析

在测试过程中遇到一个登录框,看到前端加密的情况下对密码处进行了简单的加密分析
在控制台中打开网络,匹配Fetch/XHR,可以看到password处进行了加密处

记一次测试过程中登录参数加密逆向分析

在js中全局搜索encrypt
这里可以看到使用的是AES的ECB模式加密(这可以使用python的Crypto-js库来写加解密脚本或者从前端提取出js进行逆向,因为该库中有c(t)函数中所调用的enc,AES方法

记一次测试过程中登录参数加密逆向分析

第一种方法使用python脚本来进行加密

from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64

key = b'0123456789ABCDEF'
cipher = AES.new(key, AES.MODE_ECB)

def encrypt(msg):
plaintext = msg.encode('utf-8')
padded_plaintext = pad(plaintext, AES.block_size)
ciphertext = cipher.encrypt(padded_plaintext)
return base64.b64encode(ciphertext).decode('utf-8')


def decrypt(ciphertext):
ciphertext_bytes = base64.b64decode(ciphertext.encode('utf-8'))
padded_plaintext = cipher.decrypt(ciphertext_bytes)
plaintext = unpad(padded_plaintext, AES.block_size)
return plaintext.decode('utf-8')

enData = encrypt('123456')
print(enData)
print(decrypt(enData))

运行结果(可以看到跟一张图中的password加密值一致

记一次测试过程中登录参数加密逆向分析

第二种方法提取前端js来逆向,整体代码如下

const CryptJs = require('crypto-js');

function c(t) {
var e = CryptJs.enc.Utf8.parse(t);
return CryptJs.AES.encrypt(e, {
"words": [
808530483,
875902519,
943276354,
1128547654
],
"sigBytes": 16
}, {
mode: CryptJs.mode.ECB,
padding: CryptJs.pad.Pkcs7
}).toString()
}


data = 123456;
console.log(c(data))

运行结果也一致记一次测试过程中登录参数加密逆向分析

整个过程如下
先找到核心函数 function c(t),对此函数开始和结尾下个断点

记一次测试过程中登录参数加密逆向分析

光标移到i.a处,可以看到使用的是crypto-js库中的方法,所以可以将i.a替换为变量CryptJs(因为js文件中定义了 const CryptJs = require('crypto-js');所以可以直接使用CryptJs替换i.a)

记一次测试过程中登录参数加密逆向分析

当运行这个js文件时会报错o没有定义

记一次测试过程中登录参数加密逆向分析

这时回到断点处,将光标移到变量o处(或者在控制台中输出o的值再复制)

记一次测试过程中登录参数加密逆向分析


此时将o替换成我们复制出来的值

记一次测试过程中登录参数加密逆向分析


运行结果跟查询的一致

记一次测试过程中登录参数加密逆向分析


在进行登录框爆破时可以使用该脚本进行批量加密,将加密后的密码当作字典进行爆破

记一次测试过程中登录参数加密逆向分析

来源:https://xz.aliyun.com/t/12423

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

@

学习更多渗透技能!体验靶场实战练习

记一次测试过程中登录参数加密逆向分析

hack视频资料及工具

记一次测试过程中登录参数加密逆向分析

(部分展示)


往期推荐

【精选】SRC快速入门+上分小秘籍+实战指南

爬取免费代理,拥有自己的代理池

漏洞挖掘|密码找回中的套路

渗透测试岗位面试题(重点:渗透思路)

漏洞挖掘 | 通用型漏洞挖掘思路技巧

干货|列了几种均能过安全狗的方法!

一名大学生的黑客成长史到入狱的自述

攻防演练|红队手段之将蓝队逼到关站!

巧用FOFA挖到你的第一个漏洞

看到这里了,点个“赞”、“再看”吧

原文始发于微信公众号(白帽子左一):记一次测试过程中登录参数加密逆向分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月22日19:35:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次测试过程中登录参数加密逆向分析http://cn-sec.com/archives/1686827.html

发表评论

匿名网友 填写信息