正在加载…
请使用更现代的浏览器并启用 JavaScript 以获得最佳浏览体验。
加载论坛时出错,请强制刷新页面重试。
Web前端加密分析
47287
本文主要是以案例的方式,来给大家分享下Web前端js加密的分析方法
分类
Web前端加密主要分为以下两种方式:
数据包加密,不知道怎么修改
数据包有签名,无法修改
修改前:
修改后:
js分析
静态分析
静态分析大致以下两个步骤:
网站缓存js文件
抓包看代码
网站缓存js
任意用户登录
根据网站缓存js发现username字段调用加密算法getEncoderStr:
publicKey.js 保存有加密算法
此rsa加密需要32位随机数、时间戳、身份证号,修改实名认证后的数据包:
用num、stamp及任意用户身份证号码,对username重新加密后,进行url编码发送:
抓包看代码
平行越权
抓取数据包,数据包泄露加解密算法及加密公钥、解密密钥:
通过编写py脚本,调用加解密算法,即可实现越权查询。
动态分析
动态分析主要是以下两种方式:
Debug
本地文件替换
Debug
通过在加密算法前设置断点,利用devtools修改变量值,可在参数进行加密前进行修改,从而实现加密函数加密被我们修改后的数据,这种方法无需分析具体加密算法,可直接动态调用,给测试带来了方便。
本地文件替换
当自己想要对前端的js进行代码修改或者调试的时候,可以采用本地文件替换的方法,具体步骤如下:
首先F12打开devtools,依次选择 源代码->替换->选择放置替换项的文件夹
然后选择要进行调试的js文件:源代码->网页->js文件->保存并覆盖
若js文件进行了压缩,可以选择左下角"{}",进行代码格式化:
这时,我们可以看到,在替换选项卡下,出现了我们刚刚保存并覆盖的js文件,我们可以直接修改此js文件,比如添加console.log语句:
修改完对应的js文件后,刷新网页,即可看到,浏览器成功加载了我们修改后的js代码,打印出了console.log的信息:
总结
总的来说,Web前端js加密的分析方法大概就是这些,第一次发文章,大佬们如果有补充的可以评论 😀
39667
有位大佬说过,前端无秘密~