freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

记一次实战登陆口Js逆向分析
2024-12-11 23:02:25
所属地 云南省

0x00 前言

又到年关了,大家是不是都想挖点Src冲冲榜拿个年终奖呢?但是看到一堆的加密请求,那真是一个脑袋两个大。这次我来给大家分享一下我个人逆向加密算法的一些经验及过程,测试环境是目前我们自开发的一个靶机,涉及到的算法是Aes+Sm3,后续会开源分享给大家,(ps:为了不剧透这里对一些较为关键的内容进行打码。)

0x01 踩点

1、基础的登陆页面

虽然是靶机,但是正常的打点及摸排还是必须的,毕竟只有了解敌情,我们才能进行斩首行动。首先我们先看看拿到的页面,尝试寻找突破口
image.png

访问什么都会转到login界面,那就排查下js里面有什么突破吧

image.png
那真是柳暗花明又一村啊,js文件里居然存在用户名,下一步!爆破!冲锋!

2、尝试突破

既然我们现在已经有了账户名单,我们抓个包看看
image.png
虽然没有看到验证码参数,但是看到这加密参数,看到这sign,是不是感觉头脑一大,别着急,我们一步一步来,做好准备工作,才能感受到Js的快乐

3、断点设置

打断点有几种方法,我比较常用的是:

3.1 第一种 xhr请求断点

这种方法的优点在于不需要找参数,或者参数被混淆时,缺点就是有时候我懒得去翻调用关系,比如网站url是

http://www.test.com/ApiServlet?xxxxxx
那就通过ApiServlet设置个断点
image.png

3.2 第二种 关键词断点

比如搜索Aes、Des、encrypt、decrypt等等,或者直接找到登陆接口,在传参的时候进行断点,这里我们直接找登陆接口。在数据包中有个参数是ywid=api.base.check.xxxxxx这个参数肯定是唯一的,所以我们搜索这个特征,定位到了字符的处理。
image.png
打上断点后,我们快速步进,看下都会生成什么信息
image.png

通过对代码的分析我们得知,数据以json方式传输,其中postdata里面的数据就是我们的用户名和密码,用户名是sjry,密码是gt3mm,两个都是通过函数o进行处理的,到这里呢我们踩点都结束了,下面开始我们的正文环节。

0x02 用户名及密码加密分析

1、加密逻辑寻找

跟随函数o,找到了第一个加密点,我们来尝试通过控制台输出下运行的结果

# 渗透测试 # web安全 # JS加密算法
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录