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

前端JS加密对抗由浅入深-1

前言:

本文主要讲解,针对前端加密数据传输站点,如何进行动态调试以获取加密算法、秘钥,本次实验不涉及漏洞挖掘,仅为学习演示,环境为本地搭建环境

此次站点加密方式为AES加密方式,现如今越来越多的站点使用前端数据加密,或AES、或RSA、或SM2/SM4(国产替代RSA),或干脆进行签名校验,导致安全测试测试成本提高不少,也将很多不熟悉加密测试的测试人员拒之门外,而关于前端调试的文章总是少之又少,懂的人又总是含糊其辞,本篇文章将以最快的速度、最笨的方式教会大家,如何进行快速定位加密函数

首先我们观看下图,下图password字段为加密字段
在这里插入图片描述
在这里插入图片描述
打开浏览器的F12进行开发者调试,重新登录一次而后查看网络选项
在这里插入图片描述
这么老多,先随便打一个断点试试,直接点击右侧蓝色链接,会自动跳转到关键点位,然后直接打断点即可
在这里插入图片描述
在这里插入图片描述
而后需要重新点击登录按钮,可以发现会话会直接在断点处停止,而后返回控制台,在控制台可以输入字符串或函数来查验结果
在这里插入图片描述
大家可以看到,此时断点并没有直接打到加密之前的位置,那么此时就需要往前打断点,由于函数被处理过,所以需要多打几个断点进行推测
在这里插入图片描述
再次调试,芜湖,看到了明文和密文在一起了
在这里插入图片描述
那么结果显而易见,je(ot);关键函数,这里面有事儿啊,二话不说直接加一个断点,重新调试,需要注意的是,这次不能F10了,直接F9
在这里插入图片描述
F9可以直接进入到这个函数,此时还是明文的
在这里插入图片描述
继续F9
在这里插入图片描述
不用看了,直接拿下key
在这里插入图片描述
在这里插入图片描述
此处结束,本次实验采取的是静态硬编码秘钥,AES加密,实际上现在大多数的站点加密方式已经改用动态秘钥的AES配合RSA对站点进行加密了,而RSA是不可逆的非对称性加密,若是遇到这种站点,即便是拿到了公钥,也很难通过Burpsuite进行测试了,毕竟现在市面上似乎没有那种多种加密配合的插件,而写插件的难度无疑是很高啊,但是如果每个接口都写脚本的话,那无疑会增加测试时间和成本,所以如果遇到这种情况该如何解决呢?让我们带着疑问,期待下期,AES+RSA加密的案例吧!

http://www.lryc.cn/news/273659.html

相关文章:

  • 八股文打卡day17——计算机网络(17)
  • Java-经典算法-logcat获取数据
  • APache 网页优化
  • C语言实现关键字匹配算法(复制即用)
  • 【大数据】安装 Zookeeper 单机版
  • Django 快速整合 Swagger:实用步骤和最佳实践
  • C++ cstdio
  • 昇腾多卡通信教程【配置网络检测对象IP】
  • PKI 公钥基础设施,公钥私钥,信息摘要,数字签名,数字证书
  • 企业Aspera替代方案有哪些推荐
  • vue3 vuedraggable draggable element must have an item slot
  • 如何缓解BOT攻击?分享灵活准确的防御之道
  • 了解JavaScript的执行环境及作用域
  • 嵌套调用和链式访问
  • DBA技术栈(二):MySQL 存储引擎
  • java发送邮件到qq邮箱
  • MySQL中的JSON数据类型计数及多张表COUNT的数据相加
  • XDOJ78.机器人
  • 分布式系统架构设计之分布式事务的概述和面临的挑战
  • 私有化部署你的甘特图协作工具
  • 编程笔记 html5cssjs 011 HTML内连框架
  • Stable Diffusion 系列教程 - 5 ControlNet
  • 【导出与导入Virtualbox虚拟机和启动连接openGauss数据库】
  • “华为杯”杭州电子科技大学2023新生编程大赛---树
  • 使用pnnx将Torch模型转换为ncnn
  • linux卸载小皮面板phpstudy教程
  • 【萤火虫系列教程】1/5-Adobe Firefly 注册账号
  • 【docker】Dockerfile 指令详解
  • 内存管理机制
  • Jenkins工具使用