大数跨境
0
0

攻防实战 | 5 种常见的前端加密场景及案例

攻防实战 | 5 种常见的前端加密场景及案例 雪诺科技 Snow Tech
2022-09-23
0
导读:前端的加解密是比较常见的,本文将结合一些实践案例,总结一些常见的前端加密场景与大家分享。
本文由雪诺凛冬实验室原创发布
了解前瞻攻防技术,欢迎关注雪诺凛冬实验室官方公众号

作者:雪诺凛冬实验室 · kitezzzGrim

前端的加解密是比较常见的,无论是 web 后台还是小程序,都常常存在加解密传输,签名防篡改等机制,会使很多渗透人员没有办法直接对参数的值进行更改,大大增加了攻击者的攻击成本。

本文将结合一些实践案例,总结一些常见的前端加密场景与大家分享。

MD5 案例

很常规的一个登录页面,抓包查看登录请求,可以发现 password 字段被加密处理

通过搜索登录路径,定位到加密函数,可以看出调用了 JS-MD5

password 字段的处理相当于 md5(md5()) ,二次 md5

在控制台,对js中的函数和值进行输出,看是否可以得到我们需要的结果

接下来在 burp 中的 payload processing , hash 2 次即可

DES 案例

抓包查看登录请求

可以看到目标站点对 usernamepassword 字段都进行了加密

查看调用的js代码

可以发现是 des 加密,调用 des.js 这个js文件

在控制台可以直接调用这个加密函数

DES.Encrypt("admin")

查看 des.js 文件

做了混淆,搜了下,是类似 eval(function(p,a,c,k,e,r){}) 的加密,有在线还原的站点

  • https://wangye.org/tools/scripts/eval/

得到 DES 的密钥值

AES 案例

抓包查看登录请求

可以看到目标站点对 usernamepassword 字段都进行了加密

查看调用的 js 代码

从以上代码可以看出 userLogin() 函数中调用 encrypt() 函数对用户名和进行了加密,接下来全局追踪并查看 encrypt() 函数

可以看出使用了 AES 加密,ECB 模式,填充模式 pkcs7padding,密钥 key=1234567887654321

同时,控制台也可调函数进行加密

encrypt('admin')

也可以结合 BurpCrypto 插件爆破账号密码

  • https://github.com/whwlsfb/BurpCrypto

填写key,按指定的格式添加 processor

在加载 payload processing 时可选择 invoke burp extension 里添加的 processor

RSA 案例

抓包查看登录请求

可以看到目标站点对 usernamepassword 字段都进行了加密, 并且结果很长,很大可能是 rsa 加密

查看调用的 js 代码

可以看到 publickeyencodeRSA 关键字,目标站点对用户和密码都进行了 rsa 加密

此时,控制台可调函数进行加密

var publicKey = 'xxxxx';
encodeRSA('admin', publicKey)

JSEncrypt 的默认 RSA 加密机制是 RSAES-PKCS1-V1_5,而且还会进行 base64 编码

签名

在很多业务中,签名的作用是防止请求包被篡改

目标小程序存在签名,需要伪造进行越权测试

反编译审计代码,搜索 sign 签名算法

关键字:sign signature

a.data 判断有没有 post 内容,有就第一个表达式,没有则第二个表达式, i 是 xxxx123456 u 是 url.substr(1) 后面加 post 的内容 i 是时间 算个 md5 后面的表达式 xxxx 拼接 xxxx123456 url 以及时间戳

本地调用 js,生成任意手机号签名

通过伪造的签名,可具备任意用户权限,可查看、修改任意用户信息

关于雪诺凛冬实验室


近期动态



👇阅读原文,了解更多
【声明】内容源于网络
0
0
雪诺科技 Snow Tech
数字安全,雪诺守护! 北京雪诺科技有限公司,来自白帽子的承诺和守护安全体系。具备丰富的企业信息安全建设和安全产品经验,助力企业构建网络安全防护的“北境长城”,守护企业应用系统、业务数据等核心数字资产。
内容 41
粉丝 0
雪诺科技 Snow Tech 数字安全,雪诺守护! 北京雪诺科技有限公司,来自白帽子的承诺和守护安全体系。具备丰富的企业信息安全建设和安全产品经验,助力企业构建网络安全防护的“北境长城”,守护企业应用系统、业务数据等核心数字资产。
总阅读43
粉丝0
内容41