文章总结: 本文通过靶场实例演示前端加密的脆弱性。攻击者通过分析前端JS代码中的混淆密钥和算法,可解密请求数据,并编写Burp插件实现自动化绕过。文章指出仅靠前端混淆加密是障眼法,建议采用非对称加密并将私钥存放于服务端以提升安全性。 综合评分: 85 文章分类: 渗透测试,WEB安全,安全工具,红队,安全意识
【安全测试】前端加密绕过!
原创
大表哥吆 大表哥吆
kali笔记
2026年7月2日 08:00 甘肃
在小说阅读器读本章
去阅读
在日常工作中,为了防止请求的数据被Burp等工具抓包,往往会在前端对请求数据进行加密,从而保证数据的安全性。而这要做真的会可靠吗?本篇文章,我们一起来探究!
这里,我们以某靶场为例。输入查询数据,进行查询,并在Burp中抓包。
抓到包后,明显看到数据是加密的。
接下来,让我们一起来看看他是如何加密的。
解密
查看前端 JS 文件:score-xxx.js,直接让AI分析这段JS
JS 中定义了以下常量:
// 被 XOR 混淆后的密钥 hex 字符串
CC = "442d27187049c5828de39efdb0f1314827694a6941df9189eecba1aef03a5679"
// XOR 混淆用的种子(seed)
EC = "ln-score"
// 两个混淆常数
SC = 17
bC = 31
解混淆函数 V0
// UTF-8 编码
function nn(e) {
return new TextEncoder().encode(e) // 字符串 → Uint8Array
}
// UTF-8 解码
function Fo(e) {
return new TextDecoder().decode(e) // Uint8Array → 字符串
}
// 核心解混淆函数
function V0(e, t) {
if (!e || !t) return ""
const r = aa(e) // hex字符串 → Uint8Array (待解密数据)
const n = nn(t) // seed字符串 → Uint8Array (XOR密钥)
const i = Uint8Array.from(r, (o, s) => {
// 对每个字节:先用公式生成混淆字节,再 XOR
const a = n[s % n.length] ^ (s * SC + bC) & 255
return o ^ a // 原文 = 密文 XOR 混淆字节
})
return Fo(i) // Uint8Array → 字符串
}
复现
接下来,就很简单了,将得到的Key给AI,让它写一个Burp插件,便可以很快解决数据加密问题。
安全建议
- • 只是简单的前端混淆加密只是起到了简单的障眼法,对安全影响意义不大。
- • 采用非对称加密,将私钥放服务端。
更多精彩文章 欢迎关注我们
基础教程 欢迎关注
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:kali笔记 大表哥吆 大表哥吆《【安全测试】前端加密绕过!》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论