记录一次前端RSA加密实战
2024-2-4 21:18:21 Author: www.freebuf.com(查看原文) 阅读量:10 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

声明

遵纪守法
请严格遵守网络安全法相关条例!
此分享主要用于交流学习,请勿用于非法用途,一切后果自付。
一切未经授权的网络攻击均为违法行为,互联网非法外之地。

正文

1、开局一个登录框

image-20240124084244114

2、看看历史的数据包,可以看到对密码进行了加密处理,并且携带了一个uuid参数。

image-20240124084714723

3、经过测试,uuid随验证码刷新更新,通过/prod-api/captchaImage接口获取,咱主要看rsa加密部分,所以这个先不管

image-20240124085405848

4、咱就先搜索password关键字

在找的过程中发现看到挺多loginForm.password这样的数据

image-20240125014643035

想到了Vue中,实现双向数据绑定,存储表单数据形式如下:

data() {
   return {
      loginForm: {
        username: "",
        password: "",
      }
   }
}

然后就搜索关键字,loginForm.password,因为和他相关的就5处,很容易找到了这个函数g

image-20240125013659824

5、那就下个断点调试一下

果然不出意外,这个函数g就是对password这字段加密的函数

image-20240125004902458

image-20240125004926903

6、在调试一下,找一下g这个函数,就看到了这块!

大胆的猜测一下,d是公钥、m是私钥。然后g是加密的函数、f是解密的函数。

image-20240125005112884

7、既然拿到了公钥,直接去怼,看看能不能成功!在这之前,注意到一个问题,这公钥看着怪怪滴。

​ 猜测加密前应该有对公钥进行过一些处理,因为函数g里边有个setPublicKey()方法,咱先不跟进去看。全局搜索一下PublicKey关键字看看。

​ 接着看到了一个长得像处理公钥的函数。

image-20240125005718095

8、拿出咱得js调试工具,copy代码。干

image-20240125010227808

9、这下看着正常多了,一个标准的PEM格式。直接用YakRuning模块进行RSA加密。

image-20240125012024580

10、因为之前推测有个函数f是用来解密的。

经过测试,咱们加密过的数据可以被解密,结束!

image-20240125012138931


文章来源: https://www.freebuf.com/vuls/391477.html
如有侵权请联系:admin#unsafe.sh