当前位置: 首页 > java >正文

js逆向练习 客户端的加密数据的逆向

客户端产生的加密

这样的多出现在 登录框 前端进行加密后端进行解密(因为前后一致的模式  所以我们如果想进行payload的构造也需要使用前端的加密)

利用方式 :1、浏览器端进行模拟(使用条件:嵌套引用所需的js文件数量过大)  2、扣代码本地进行复现(所使用的加密js是独立的)

练习一 :

login.zhangin.com

这个的加密就类似于 使用了已经公布的加密模式   所以只要找到相应的key,iv,密文等就能直接使用 

构造账密 111 ,111 登录

发现返回的xhr数据包 居然和之前的登录模式都不一样   他使用的是 param 参数单传 

再传一个 密码为  123  发现 参数和 r 都变了 

搜索url的后缀 

我们看到 r只是一个随机数    开始找  param的一串数据

一般搜索的使用 多围绕着 (encrypt,decrypt,encode) 去搜索 

根据抓包的程序进行一个一个的找

主要是看作用域这一块  是不是有加密的数据

我们找下一个函数进行断点收集数据

调试一下 发现 O 是加密后的数据  S是明文

加密过程就这这个  za

然后双击 za 

跳到他的逻辑中去  发现 AES 加密

AES 加密/解密 - 锤子在线工具

使用这个进行解密

这个 c.value类似于密钥

然后后面看见 vi = c.value  秘钥和vi是一样的

使用工具就能还原了

第二个:

auth.xincheng.com 

先进行地址搜索 在分析程序链

可以看到这个是需要key和密文的

    var encrypt = new JSEncrypt();encrypt.setPublicKey($("#Public_key").val());hidetxtPassword = encrypt.encrypt($("#txtPassword").val());

断点分析  这边我们 输入账号密码之后点击发送验证码

调试成功可以显示密文

然后我们把鼠标放到  var对象上面 出现密码库  然后我们进行下载(这个进行浏览器端的测试也是可以的 但是我们进行本地测试)

根据key 推测一下对方的这个key可能是随机生成的  生产的方式就是上面的那个密码库.js 这个文件
key的位置是 前端的表单中

本地的方法 :

http://www.xdnf.cn/news/8004.html

相关文章:

  • 8.数据驱动的决策分析与可视化实践
  • Open3D 统计滤波器
  • RK3588 USB-OTG 功能使用记录
  • MAC系统安装node版本管理工具nvm
  • 条件随机场 (CRF) 原理及其在语义分割中的应用
  • 关于 Web 安全实践:4. 文件上传功能的风险分析与防护
  • 使用泛型服务基类简化Entity Framework对数据库访问逻辑
  • 基于JDBC的信息管理系统,那么什么是JDBC呢?什么又是DAO类?
  • Python输出与输入
  • windows服务器部署jenkins工具(二)
  • 在linux部署定时执行Kettle任务
  • 领麦微红外测温传感器:即热式饮水机测温应用
  • I.MX6U Mini开发板通过GPIO口测试光敏传感器
  • 无人机电子防抖技术要点概述!
  • 无人机集成毫米波雷达与双目视觉的融合感知系统深度解析
  • 全碳化硅功率模块开关瞬态特性及损耗研究
  • Java学习教程(附电子书资料50+册)
  • 多模态大模型
  • 将YOLO训练进程放至后台的方法-nohup
  • Oracle BUFFER CACHE内存不足的优化思路
  • 【信息系统项目管理师】第13章:项目资源管理 - 38个经典题目及详解
  • SEO关键词优化与长尾词布局
  • Powershell及命令行文章合集(不定期更新)
  • [Docker排查] 镜像拉取/容器启动/网络不通?Docker常见错误与解决方案
  • ERP 与 WMS 对接深度解析:双视角下的业务与技术协同
  • Linux系统之----文件及缓冲区
  • 实验4 插入数据
  • ETL工具部署的5个注意事项
  • 风车聊天室nodejs环境即可无需数据库
  • 适合初学者的 Blender和怎么下载 Blender格式模型