某家请求头X-TJH参数逆向流程分析
本帖最后由 hybpjx 于 2024-6-14 10:44 编辑# 目标网站
> aHR0cHM6Ly9tLnR1amlhLmNvbS8=
# 网站分析
看下需要逆向的参数是哪些。
ok headers里的一些参数
![](https://s2.loli.net/2024/06/13/rIs6mVx82fv3nTo.png)
话不多B,直接进这个栈
![](https://s2.loli.net/2024/06/13/uYDLfEMxUkocvd5.png)
追栈 断点走到如下位置
![](https://s2.loli.net/2024/06/13/epw3gMCRFAYOyqI.png)
# 扣代码分析
## TT_info
我们通过ast给他转换一下。 可以看到 还嵌套了一层。
![](https://s2.loli.net/2024/06/13/6BlTd92QUVnvLeS.png)
继续解混淆
把一些方法混淆还原后是这个样子
![](https://s2.loli.net/2024/06/13/NckS5UjdCEp7By3.png)
然后我们来看下以下几个方法分别是
**b.g()**
这里就是通过时间戳做的计算
![](https://s2.loli.net/2024/06/13/qkMy76cQDgAKbYI.png)
**b.h**
进栈走控制流。
![](https://s2.loli.net/2024/06/13/e6OaG5jlCSvyZKb.png)
往上找堆栈 就能发现了传参的地方。
![](https://s2.loli.net/2024/06/13/4c6dWMONSoXesxD.png)
然后找一下控制流的顺序
```
['1', '2', '7', '5', '4', '3', '0', '6']
```
然后还原出来。
![](https://s2.loli.net/2024/06/13/slfCnV1KqThRU8W.png)
自此**b.h** 得到了
然后运行一下
最终得到一个乱码
![](https://s2.loli.net/2024/06/13/65qWJD4xtATEz1Y.png)
![](https://s2.loli.net/2024/06/13/j421VugNbBJYtsp.png)
**b.k**
报错 未定义。往下追
![](https://s2.loli.net/2024/06/13/vdOP9mCyUkTzE5G.png)
A() 函数最终返回的是一个登录返回的cookie中的userID
![](https://s2.loli.net/2024/06/13/S8x97kUBli5mAJR.png)
然后继续扣b.k
找到堆栈。
![](https://s2.loli.net/2024/06/13/CzgD6FxNYSO9KTm.png)
然后发现是个base64
![](https://s2.loli.net/2024/06/13/MgwtLRhcsQH8An7.png)
LL_info 参数解密完成
## T-INFO
这个参数就同理了。
一点一点的对应。
这里可以看到 这个L参数也就是T-INFO 是sha1加密
![](https://s2.loli.net/2024/06/14/eGIL23qBQUaS1Ez.png)
调用一下 看看有没有魔改
![](https://s2.loli.net/2024/06/14/iJlTv6CwVXp9AsG.png)
![](https://s2.loli.net/2024/06/14/87jRhWrFyHxlO3e.png)
验证出来就是普通的sha1,那把这个混淆拼接 ,把值都搞出来加密即可。
最后整出来是这个样子
![](https://s2.loli.net/2024/06/13/jnD2orUvKXAq8dW.png)
## X_TJH
这是个sha1加密算法
这里不多说了。按照上面的流程一一对应。
最后整理出来是这样的。
![](https://s2.loli.net/2024/06/14/rcnlasV5HuGqAJ2.png)
这里注意一个点。这个U(ee) 原文中为U(e)
这里是switch指令集顺序为 ['1', '2', '5', '6', '3', '4', '0']
t(x, s);还原出来是 >>>> x(s)
![](https://s2.loli.net/2024/06/14/2njcZwekAJtVvGq.png)
而s就是请求传过来的data,而n就是整体传参 如下图。
![](https://s2.loli.net/2024/06/14/W8YshjASkEJPX6K.png)
简单修改一下即可。
这里还需要拼接一下。其它的关系。几个函数互相调用一下值。
如下图修改完毕即可。
![](https://s2.loli.net/2024/06/14/YkT13cCMJlmu9je.png)
# 结果
这里感觉ast学的还是不咋地 有点地方还是不知道咱们去解,还是手撸,这样就太蠢了。
![](https://s2.loli.net/2024/06/14/eqAyv2rH3mg8jPD.png) ob混淆都是有规律还原的。不用重复编写代码来还原。 悦来客栈的老板 发表于 2024-6-14 11:48
ob混淆都是有规律还原的。不用重复编写代码来还原。
蔡老板 带带我。ast学的七零八落的{:1_889:} 这玩意当初还原完替换报错,菜老板过年又没空,手搓通宵{:1_907:} 还原的不错,学习了 楼主大大,混淆还原在哪里学啊
mysmwt 发表于 2024-6-16 20:50
楼主大大,混淆还原在哪里学啊
自学,自己去根据ast去搞 楼主大大,混淆还原在哪里学啊 请教下 如何看出来 X_TJH 是 Sha1算法? 我们通过ast给他转换一下
这个是怎么做的?谢谢了
页:
[1]