Lazy loaded image
某网站简单逆向思路
字数 970阅读时长 3 分钟
2025-3-8
2025-3-8
type
status
date
slug
summary
tags
category
icon
password

前言

群里讨论某网站的逆向,想去试一下,于是记录下过程,实力微薄,勿怪勿怪。

一 初窥

先看看这个网站什么情况
notion image
可以发现只有请求头里面有加密的参数,看看启动器里面调用栈,打打断点看看
notion image
notion image
可以看到这个网站是使用的 axios 这个库去调用的网络请求,这个库也是个很常用的网络请求库,如果你当时并不知道这个库,你可以搜索一下,也会发现
notion image
简单看下这个文档会发现有请求拦截器功能,这个在请求的请求头校验大概率也是在拦截器里面添加的,我们可以看下拦截器的用法
notion image
现在去网站看下有没有拦截器的痕迹
notion image
果然是有拦截器的存在,点进去看看
notion image

二 深挖

混淆的代码,老规矩丢进反混淆网站里面看看,结果是这样的:
notion image
通过第一个地方可以发现使用方法和官方的是一样的,所以我们的思路的完全正确的,第二个地方就是请求头附加加密参数的地方,进去看看
notion image
notion image
发现最后是这个函数给请求头设置的加密参数,入参就是请求信息,也是丢进反混淆看看,但是这个结果就不尽人意了,就手动看吧
通过观察就会发现这类的混淆最大的特点就是字符串加密,把固定字符串和方法名加密后使用 [] 的方法去调用, _0xf2d8ea 很明显就是获取字符或字符串的方法,好在这个方法比较好,咱们调试一下手动替换就好,如果长的话就 ast 替换,原理是一样的,找到规律然后替换
notion image
notion image
就这样使用类似的方法,找到真的的名字,替换,改为方便去看的最好得到的结果是这样的:
notion image
这就很清晰了,通过查看代码可以发现 getlocal_init_timegetserver_init_time 是直接获取的localStorage里面的,观察发现界面刷新之后也没有发现改变所以这里就直接写死

搞定

观察发现上面主要提到了下面几种加密方法:
  • JSON序列化
  • sha1哈希
  • hmac加密
如果自己弄的时候在其中遇到不清楚的要先去网络上搜一下用户用途,了解了之后转python就好写了.
 
完整代码
运行结果
notion image

总结

  • 要思路清晰,先看网站是怎么写的,如果能确定如果正向开发的,逆向好好办了
  • 灵活运用搜索引擎和工具
hssp 是在下自己写的爬虫库,还未彻底完善,感兴趣的可以的看看,点个🌟也可以的,地址是这个:
hssp
x-haoseUpdated Mar 15, 2025
 
 
上一篇
Comparison of Self-built Instant Messaging Systems
下一篇
Postgresql 导入导出介绍