一、访问目标网站,打开F12开发者工具,然后开始抓包
二、抓到一个登录包,密码加密了,我们输入的是123456,在这里显示的是
三、全局搜索,点击开发者工具右上角的三个点,选择搜索,输入关键字“Password”
四、搜索结果有好多个,挨个排查,发现这个login.js有点可疑,双击进入
五、明文数据都在formData里面,继续往下单步跟踪
六、走到这里,还是明文,但是执行完这句代码就变成了加密密文,所以关键代码是
dataPass.
value
= encrypted.toString();
七、往上看看加密过程,iv、key、des、Pkcs7,这明显是一个des加密的
八、继续放开这个数据包,查看提交的数据,和加密的结果一样的
九、算法实现
1、获取iv、key的值,在这里下断即可查看
2、代码实现
const
key = CryptoJS.enc.Utf8.parse(
"151R715Z"
);
const
iv = CryptoJS.enc.Utf8.parse(
"9Z83R3X6"
);
const
encrypted = CryptoJS.DES.encrypt(
"123456"
, key, {
iv
: iv,
mode
: CryptoJS.mode.CBC,
padding
: CryptoJS.pad.Pkcs7
}).toString();
console
.log(
"加密后的密文:"
, encrypted);
3、另外,他这里iv和key每次刷新页面都会变化
原文始发于微信公众号(Web安全工具库):JS逆向 -- 某网站DES算法分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论