首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【安全测试】前端加密绕过!

【安全测试】前端加密绕过!

作者头像
逍遥子大表哥
发布2026-07-02 12:27:21
发布2026-07-02 12:27:21
550
举报
文章被收录于专栏:kali blogkali blog

在日常工作中,为了防止请求的数据被Burp等工具抓包,往往会在前端对请求数据进行加密,从而保证数据的安全性。而这要做真的会可靠吗?本篇文章,我们一起来探究!

这里,我们以某靶场为例。输入查询数据,进行查询,并在Burp中抓包。

抓到包后,明显看到数据是加密的。

接下来,让我们一起来看看他是如何加密的。

解密

查看前端 JS 文件:score-xxx.js,直接让AI分析这段JS

JS 中定义了以下常量:

代码语言:javascript
复制
// 被 XOR 混淆后的密钥 hex 字符串
CC = "442d27187049c5828de39efdb0f1314827694a6941df9189eecba1aef03a5679"
// XOR 混淆用的种子(seed)
EC = "ln-score"
// 两个混淆常数
SC = 17
bC = 31

解混淆函数 V0

代码语言:javascript
复制
// 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插件,便可以很快解决数据加密问题。

安全建议

  • • 只是简单的前端混淆加密只是起到了简单的障眼法,对安全影响意义不大。
  • • 采用非对称加密,将私钥放服务端。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 kali笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档