解密某高校X博士洗浴加密请求

文章正文
发布时间:2025-11-12 04:14

很久没有适合的东西水(不是)一贴了,主要是价值都不大;说到水就想起了学校内的洗浴,名字叫什么XX博士。

用微信查看数据,还得每次点开,点登录,折腾半天才能看到自己还剩下多少钱——太麻烦了!在洗澡之前还得怕自己钱不够,
于是我琢磨着自己做个小机器人帮忙通知自己。于是之后就是愉快的(一波三折的)研究过程——

1.初期分析

首先由于对方是微信公众号-点击按钮-跳转页面,先考虑好可能需要的工具——root手机一台,小黄鸟(HttpCanary)抓包软件一只。抓包就不过多废话了,就是很正常的抓包,没有什么困难点。
对其抓包得到一个地址:
由于考虑到是公众号跳转的页面,合理怀疑这个页面也能用电脑打开,果不其然:

FWUMNHN_3AI1F6[EBY6Z8HU.png (29.93 KB, 下载次数: 0)

下载附件

示意图

2022-11-9 22:55 上传


看到诶有一个手机号或账号登录,我现在不在微信上,先试试看能不能把我的账号和手机绑定在一起,这样就不需要我在电脑上模拟微信环境了~
一番瞎折腾之后,绑定成功,如图所示:

[@E5L%QD@LQ5]F0[KI)6)(K.png (32.95 KB, 下载次数: 2)

下载附件

示意图2

2022-11-9 23:02 上传


正当我暗自窃喜 [只要抓包接口,给Python机器人就解决问题啦]的时候,现实给我泼了冷水:
请求有不认识的参数secstr!

QD8S9M%OPV6[LE_2_7P1M_9.png (17.06 KB, 下载次数: 0)

下载附件

示意图3

2022-11-9 23:03 上传

2.碰壁的尝试

根据所学不多的经验,很容易分析出来,token是登录之后给的;而secstr是一个不认识的变量。既然如此,首先先尝试一下“重放攻击”,把这个包原封不动的丢回去试试看,如果能直接使用,那就退而求其次嘛。
原封不动发了回去,果然能用,但是突然发现,这里面有一个参数叫timesp,显然是当前的时间。
如果我们假设这个secstr是和时间有关的,那么可能过一段时间,当前的参数就失效了——这可能性很大,毕竟,既然前端往后端传了时间,那么对发来的时间做判断是非常方便的。
为了我的小机器人运行更加稳定,看来还是得进行一些研究。
观察secstr,首先怀疑这玩意是不是什么md5“加密”,跑去网上找一个https://cmd5.com/password.aspx 解密网站,丢进去试一试。

3HBY]%UQTVPLC`JJQ0_@XNX.png (25.59 KB, 下载次数: 0)

下载附件

失败的尝试1

2022-11-9 23:12 上传


显然,无果。
之后又多次请求了这个接口,发现如下特点:请求的时间不同,secstr也不同。那么有没有可能secstr只是timesp的md5呢?抱着尝试的想法尝试了一下,发现没有任何关系。
到此事情似乎有些棘手,难道要用selenium作为我机器人的后端,靠模拟点击的方式……?

3.从代码入手

虽然前端代码完全不是我的强项,但现在也只能动手一试了。目前我们什么都不知道,但是我们知道secstr这个“特殊”的字符串,它一定在前端得有个赋值的地方。于是我们直接祭出F12,在搜索处搜索一下secstr:

`EH%SSJRDF38U}F`KLI}U}G.png (35.78 KB, 下载次数: 0)

下载附件

尝试F12

2022-11-9 23:21 上传


][0_5(40)U_R[DOY[L1OX4V.png (26.45 KB, 下载次数: 0)

下载附件

定位位置

2022-11-9 23:22 上传


点一下格式化,就能清楚的看到这里显然是secstr的赋值位置,它对应的是一个不认识的函数(原谅我前端基本没接触过)。接下来右键 - 切换到来源选项卡, 在这里下断点,刷新一下:

LH0YPK[AF~HOD6IPYHZF4CI.png (63.56 KB, 下载次数: 1)

下载附件

2022-11-9 23:27 上传


接下来点几次进入下一个函数调用,就能看到:

K6E26B6@K5%KQN{)[SFJU.png (87.49 KB, 下载次数: 1)

下载附件

2022-11-9 23:30 上传


虽然我还是看不懂代码但是那个大大的MD5我是看懂了,也就是说它是把一个很长的东西丢进去产生了一个MD5作为secstr。
那么这个长长的东西是什么呢,在里面看到了timesp和token,也就是说很大概率是用其他参数组合的?
想知道这个问题,只需要跳转回原本的函数看一看:

U@OKIM8%EPCT(U@T}BHX{H3.png (90.07 KB, 下载次数: 0)

下载附件

2022-11-9 23:34 上传


接下来对代码逐段分析一下:

首先我们可以看到

281 t.secstr() = L()(o);

根据刚才的分析L()是md5函数,那么就是对o求md5。
它的上一行是o = n + o + n,根据这个样子,应该是拼凑了什么特殊的字符串来的。
根据第270行:

n=T.a.state.user.salt

说明n是一个(反正不知道怎么生成的盐);而271行,还有

n || (n = "tqNGAU30Ij5mqZycGtDYa4eKo5!CeTke");

也就是说,盐不存在的时候,使用这个默认的盐(一段乱码一样的东西)。

确定了这个之后看272行

var a = k()(t),

似乎是把上面的t函数(在第265行)用某个函数处理了,虽然不知道t干了什么,但是根据272行这里的显示,能看到

a = (3) ['platform', 'timesp', 'token']

接下来274行,有个

return a.sort();

也就是说对a进行了排序。
之后275行,来了一个

a.foreach

推测一下是遍历所有的元素,取值出来,然后里面的处理是

i === e && (o += t[i]);

这边我迷茫了一下(真的有人会这么写吗,应该是编译器优化的结果吧……)

看到结果o豁然开朗:

它就是把每一个key的值拼在了一起,比如timesp是2022-11-09 23:28:25,就拼成timesp2022-11-09 23:28:25。然后按顺序全部排在一起。

这样就能解释为什么前面要排序了:如果不排序,得到的字符串顺序就是错误的,md5就不相同了。

分析完毕,总体捋一下整个逻辑:

首先它生成除了secstr的所有其他请求的key和value。之后按照JS的sort函数排列key,将它们按照key+value的方式依次拼接成一个字符串,之后再从前后加上一个盐,计算md5就是secstr。自己手动把md5拿去测试,结果正确无误。

而里面的salt是怎么来的呢?我退出重新登录了一下,果然,是服务器直接给的:

{   "token": "382acxxxxxxxxxxxxxxxxxxxx097b23b",   "salt": "a1dxxxxxxxxxxxxxxxxxxxx432354a4a",   "member_info": {     (不重要.JPG)   } }

Q2A5SEO`KEC@7)3A80BXW.png (21.13 KB, 下载次数: 0)

下载附件

2022-11-9 23:55 上传

据此,整个加密已经完全解决,接下来只需要对需要的函数抓包,确定传参,然后用代码实现即可。

(代码在另一台电脑上……,基本就是生成一个一模一样的参数,然后按上面的方式计算出secstr拼接即可)

最后结果是这样的(满意):

I}(}17`AF1{EBM5D18[8CC1.png (17.9 KB, 下载次数: 1)

下载附件

2022-11-9 23:58 上传

后记

其实这篇文章之前就想写了,不过忙于考研一直没什么空,今天有空转了一下吾爱破解,发现自己第一个贴子上了2021年的精华榜……

那是我新手第一次发帖,是真的没想到会成为精品,感谢大佬们抬爱(甚至帮我改了我不合规的地方,受宠若惊)

索性今天就把文章摸了出来,希望这次的文章比上次更易读些,能帮助到各位朋友们(本人文字组织能力确实不太好,见谅),最后祝论坛越来越好~

 

免费评分 参与人数 78威望 +1 吾爱币 +76 热心值 +69 理由

tobeCSmaster
    + 1     我很赞同!  

TWIM
      + 1   我很赞同!  

panbin2022
      + 1   热心回复!  

aiwoa2003
    + 1   + 1   不错呦  

sdpaopao
    + 1   + 1   欢迎分析讨论交流,吾爱破解论坛有你更精彩!  

vowzhou
      + 1   用心讨论,共获提升!  

baishushe1234
    + 1   + 1   我很赞同!  

chengmu
    + 1   + 1   我很赞同  

wyyw
    + 1   + 1   欢迎分析讨论交流,吾爱破解论坛有你更精彩!  

hbzjhg
      + 1   用心讨论,共获提升!  

Zhengzx
    + 1   + 1   热心回复!  

13155667526555
      + 1   用心讨论,共获提升!  

liu2500
    + 1   + 1   欢迎分析讨论交流,吾爱破解论坛有你更精彩!  

owouwu
    + 1   + 1   我很赞同!  

xsx0614
      + 1   谢谢@Thanks!  

nahanhou
    + 1   + 1   我很赞同!适合小白入门  

乌木屋
    + 1   + 1   热心回复!  

xyzhang
      + 1   我很赞同!  

Zzzz0101
    + 1   + 1   热心回复!  

liudongssnh
    + 1     谢谢@Thanks!  

pwq1117618
    + 1   + 1   用心讨论,共获提升!  

1MajorTom1
      + 1   热心回复!  

i67
    + 1   + 1   我很赞同!  

lwyanhua
    + 1   + 1   我很赞同!  

bluesky0709
    + 1   + 1   我很赞同!  

sumingwjl
    + 1   + 1   用心讨论,共获提升!  

da0
    + 1   + 1   我很赞同!  

limpid00
    + 1   + 1   我很赞同!  

aa25820529
    + 1   + 1   热心回复!  

DarkoSnow
    + 1   + 1   同款热水,这就去干  

3241095258
    + 1     我很赞同!  

quxinh
    + 1   + 1   用心讨论,共获提升!  

小菜鸟一枚
    + 1   + 1   用心讨论,共获提升!  

Astraia
    + 1   + 1   用心讨论,共获提升!  

culprit
    + 1   + 1   我很赞同!  

xyl52p
    + 1     谢谢@Thanks!  

linllz
    + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

allen6666
    + 1   + 1   用心讨论,共获提升!  

li1357986420
    + 1   + 1   用心讨论,共获提升!  

lvbose
      + 1   我很赞同!  

runnchild
      + 1   热心回复!  

as110265
      + 1   我很赞同!  

dbdx666
    + 1     Aiai  

52pojieHow
      + 1   热心回复!  

samzhao2022
    + 1   + 1   我很赞同!  

jiansanqian
    + 1   + 1   我很赞同!  

btz874
      + 1   我很赞同!  

v6731274
    + 1     感谢您的宝贵建议,我们会努力争取做得更好!  

golceip
      + 1   看标题以为是白嫖洗澡…  

ZIXUAN6
      + 1   我很赞同!  

diqijingwu
    + 1   + 1   用心讨论,共获提升!  

CLHLZH
      + 1   热心回复!  

Diamonf
    + 1   + 1   我很赞同!  

xzqsr
    + 1   + 1   谢谢@Thanks!  

zhangxiao0527
    + 1   + 1   我很赞同!  

tiehetao
      + 1   谢谢@Thanks!  

overnet
      + 1   楼主你的卡该充值了,哈哈  

youranata
    + 1   + 1   谢谢@Thanks!  

yaxuya
      + 1   热心回复!  

ijlfviw
      + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

2822yst11
    + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

star3695
      + 1   我很赞同!  

Paidx0
    + 1   + 1   用心讨论,共获提升!  

许褚
    + 1     谢谢@Thanks!  

hotdogmoon
    + 1   + 1   用心讨论,共获提升!  

Fiverya
    + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

xzhtx
    + 1     谢谢@Thanks!  

笙若
    + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

Black_山猫
    + 1   + 1   热心回复!  

strom
    + 1     热心回复!  

涛之雨
  + 1   + 20   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

ludonghengsb
    + 1   + 1   我很赞同!  

Miludeer
    + 1   + 1   用心讨论,共获提升!  

mogur
      + 1   用心讨论,共获提升!  

李佑辰
    + 1   + 1   我很赞同!  

魔道书生
    + 2   + 1   谢谢@Thanks!  

youngnku
    + 1   + 1   用心讨论,共获提升!  

af8889
    + 1   + 1   感谢发布原创作品,吾爱破解论坛因你更精彩!  

查看全部评分

首页
评论
分享
Top