记测试过程中登录参数加密逆向分析
2023-5-20 08:31:25 Author: 潇湘信安(查看原文) 阅读量:17 收藏

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。
现在只对常读和星标的公众号才展示大图推送,建议大家把潇湘信安设为星标”,否则可能看不到了

正文

在测试过程中遇到一个登录框,看到前端加密的情况下对密码处进行了简单的加密分析

在控制台中打开网络,匹配Fetch/XHR,可以看到password处进行了加密处理

在js中全局搜索encrypt,这里可以看到使用的是AES的ECB模式加密,这可以使用python的Crypto-js库来写加解密脚本

或者从前端提取出js进行逆向,因为该库中有c(t)函数中所调用的enc,AES方法

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

from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpadimport 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替换成我们复制出来的值
运行结果跟查询的一致
在进行登录框爆破时可以使用该脚本进行批量加密,将加密后的密码当作字典进行爆破
文章来源:先知社区(irvingA)原文地址:https://xz.aliyun.com/t/12423

关 注 有 礼

关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包
 还在等什么?赶紧点击下方名片关注学习吧!

推 荐 阅 读



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg4NTUwMzM1Ng==&mid=2247503689&idx=1&sn=c0243a4121158b851bcc2ad48a20f56a&chksm=cfa56b5af8d2e24ce495311df2ef512ffa026f5b0b6ca7821c88dc30b7356170a783bac199ce#rd
如有侵权请联系:admin#unsafe.sh