【JS逆向】前端加密对抗基础

06-01 1728阅读

目录

    • 逆向基础
      • 断掉调试
      • 基本常见的加解密方式
    • encrypt-labs靶场
      • 搭建过程
      • 靶场基本教程
        • AES加密key前端体现(固定key)
        • AES服务端获取key
        • RSA非对称加密
        • DES加密存在规律key
        • 明文加签sign
        • 加签key在服务端sign
        • AES+RAS组合

逆向基础

断掉调试

通过浏览器站点控制台(F12),进行断掉调试js代码,查看和调试代码。(断点处,代码会停在断点,不继续运行。还可通过控制台查看断点前的函数值,也称为作用域)

image.png

基本常见的加解密方式

对称加密、非对称加密、Hash散列值…等等

常见对称加密如AES加密、DES加密。非对称加密RAS加密。Hash如MD5、SHA、国密SM1,2,3,4等。

encrypt-labs靶场

https://github.com/SwagXz/encrypt-labs

搭建过程

使用phpstudy搭建即可,但需要导入数据库,否则无法正常使用。源码当中有sql后缀配置文件,即数据库文件。

【JS逆向】前端加密对抗基础

导入数据库可以使用第三方工具或mysql的命令行。

简单方式的创建数据库信息,可以将sql后缀数据库文件导入到第三方工具,直接执行即可创建数据库,如navicat。

【JS逆向】前端加密对抗基础

完成上述过程,即可搭建完成,可正常访问。

注意:

默认密码:admin/123456

默认访问地址http://127.0.0.1(混淆)

http://127.0.0.1/easy.php (无混淆)使用无混淆的进行学习

【JS逆向】前端加密对抗基础

靶场基本教程

首先需要加解密工具或插件。

burp插件:https://github.com/f0ng/autoDecoder

浏览器插件:Ctool 程序开发常用工具,https://ctool.dev/

若插件使用不熟悉,可直接使用在线的加解密平台也可基本实现加解密。

以下主要是常见的加解密以及一些基本加解密,若有复杂加解密环境情况,也可自行编写脚本,结合此插件通过接口加解密进行处理。也可使用其他方法或工具。

AES加密key前端体现(固定key)

1、正常可任意输入用户名密码,选择第一关登录接口,AES固定key。

2、使用F12断点调试,在登陆js处打下断点,查看js代码运行情况,向上翻找执行记录,发现js当中AES加密固定key,使用AES-CBC方式进行加密以及填充方式。最后得到加密的数据encryptData参数值内容为加密信息。

【JS逆向】前端加密对抗基础

填充方式以及加密参数:

【JS逆向】前端加密对抗基础

数据包信息:

观察发现encryptData参数加密内容加密后还进行了一次URL编码。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码