吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7302|回复: 57
收起左侧

[Web逆向] 某电子商务生态链平台登陆 Form Data 加密逻辑分析

  [复制链接]
xianyucoder 发表于 2021-8-19 08:51
本帖最后由 xianyucoder 于 2021-8-19 08:57 编辑

今日网站

aHR0cHM6Ly9wYXNzcG9ydC5nb2pveS5jb20vbG9naW4=

反调试

这个站分析的是页面提交的参数加密逻辑,所以先打开开发者工具抓包

打开抓包,会提示进入 debugger

绕过这个 debugger 得方法比较多,右键设置 Never Pause Here 就行了

设置完就像下面这样

然后点击右边的蓝色箭头就可以了

加密定位

通过 debugger 之后输入手机和密码提交,可以在Network下看到如下的请求

虽然提交的是Form Data但是没有关键词,搜索是没办法搜索了,用xhr和分析调用栈的法子都可以定位。

点开Initiator

从第一个进去之后打上断点,然后再提交一次数据

可以看到这里的l已经生成好了

所以继续向上一步的堆栈进行分析,分析直到下面这个位置

这里是我们提交参数的地方,不过这里的t里包含了需要提交的参数,所以在这里打上断点

放开断点,重新提交,会断在post这行上

这个时候,t 中是没有生成好的数据的,s则是页面上提交的数据

所以接下来才会生成加密,所以从这里一步步往下调试,大概的位置是单步调试之后再往下一步几次之后的位置

你会发现下面的逻辑

这里的interceptors我之前的文章讲过,很多 request 前的组包操作都悄咪咪的在这里面做的

所以在下面这个位置下断

然后直接下一步断在750这一行

我们看看运行的结果

所以加密的逻辑就在这个Q

跟进来就是这个s函数

加密分析

进入到Q函数当中,代码就比较难看了,所以先复制这个代码到本地,看看整体的结构

可以看到s是包在一个!function(){}()里面的,这是一个自执行的函数列表

所以我们需要单独把这一部分拿来运行

我们尝试在本地直接运行这段自执行的代码,但是提示错误

在代码里捕获了错误,但是具体为什么报错我们并不知道,所以直接去掉这个try...catch看看是哪里报错

再次运行提示this.b不是一个方法

所以需要进一步调试,发现在代码中调用的时候,传入this.b中的a是如下的一串的字符串

这个字符串格式是不是很熟悉,很明显这里的this.b是 window 中的atob ,所以需要在这里补齐this.b的逻辑,在某乎的文章里我已经给大家列举过了如何补齐,大家可以点下方回顾一下

https://www.52pojie.cn/thread-1495847-1-1.html

我们直接复制粘贴一下逻辑

将代码修改为

# this.abv = [this]["filter"]["constructor"]("return this")()[this.b](a || b >> d)
this.abv = xazxBase64.decode(a || b >> d)

再次运行,这里就不报错了,提示domain未定义

domain大家都知道是啥吧,在document下标识当前的站点的

直接拿了一个通用的环境头过来,运行一下

出结果了,但是好像有点小毛病,代码一直停住没有结束

我们继续分析,找到下面这个位置

这里使用了setInterval调用了debugger

在窗口和工作接口上提供的setInterval()方法重复调用函数或执行代码片段,每次调用之间有固定的时间延迟。

直接删掉这段代码,运行就正常了

补环境大法好啊~

通用环境头是什么样呢?

其实就是定义好了window、document、location这些环境的代码,比如window = globallocation.href = 'www.baidu.com'

可以把上面的一坨代码看成一个黑盒子,我们运行代码可以获得提示,根据提示把黑盒子需要的环境补齐就可以了,至于黑盒子内部运行了什么内容,我们不需要关心。

现在就有人问我不会补环境,这样要怎么搞?

那我们回到刚刚 domain 的检测位置

找到报错的位置,可以看到这个代码逻辑是在一个大大的for循环表达式里的

伪代码如下

for(var i = 0, o = 18; i<【一坨代码】;i++){
        方法体
}

所以只能断点一步步调试了

有点恶心,这里还有debugger

直接删掉,继续调试

之后就一直提示domain未定义,现在要怎么补齐呢?

我在网页上调试发现这段代码的结果为一个固定值,如下

可是如果替换为固定的18,这个for循环就会变为下面这样

for(var i = 0, o = 18; i < 18; i++){
    方法体
}

这个方法体里面就是我们的检测,包含debugger还有domain

那我们为啥不直接跳过这段代码,里面的逻辑我们理清楚了也没有相关的加密逻辑全是检测

这里直接将循环的判断逻辑判断条件改为

for(var i = 0, o = 18; i < 0; i++){
    方法体
}

让代码直接跳过不就行了

照着我们上面的思路,修改一下,就可以看到结果的输出了

ps:记得将setInterval注释

好了,以上就是本次的全部内容了,我们下次再会~

免费评分

参与人数 25威望 +2 吾爱币 +122 热心值 +25 收起 理由
q99 + 1 + 1 我很赞同!
gba626 + 1 我很赞同!
743567274 + 1 + 1 我很赞同!
神枪泡泡丶 + 2 + 1 用心讨论,共获提升!
gaa2001 + 1 热心回复!
Coocle + 1 谢谢@Thanks!
wuai1023a + 1 我很赞同!
Lugia + 1 + 1 谢谢@Thanks!
ruineng + 1 + 1 用心讨论,共获提升!
Akihi6 + 1 + 1 谢谢@Thanks!
zhenkaixin852 + 1 + 1 谢谢@Thanks!
shakespearexzh + 1 谢谢@Thanks!
victos + 1 + 1 谢谢@Thanks!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
gaosld + 1 + 1 谢谢@Thanks!
maixiaofeng1214 + 1 + 1 谢谢@Thanks!
ZHHua + 1 + 1 用心讨论,共获提升!
404undefined + 1 + 1 我很赞同!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
李玉风我爱你 + 2 + 1 我很赞同!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
涛之雨 + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
skiss + 1 + 1 谢谢@Thanks!
jesson475 + 1 + 1 我很赞同!
xiaohei121 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yyc247020 发表于 2021-8-19 15:22
逝去的初夏c 发表于 2021-8-19 11:27
你没JS代码咋解密,断点也没办法下,根本没办法实战呀,这好像就叫凭空想象吧

大哥啊  他给的那段代码就是个base64编码  你解一下不就行了吗 。。。。。。这看不出来吗
逝去的初夏c 发表于 2021-8-19 11:27
yyc247020 发表于 2021-8-19 09:52
既然你知道是加密,那就去解密啊,就只是一个很简单的加密而已,直接放网站违规

你没JS代码咋解密,断点也没办法下,根本没办法实战呀,这好像就叫凭空想象吧
QingYi. 发表于 2021-8-19 09:01
why174980 发表于 2021-8-19 09:05
我也想看通用环境
逝去的初夏c 发表于 2021-8-19 09:06
感觉这种帖子看似很有用实际没任何效果,希望楼主能提供网站地址,让大家都可以去亲自尝试一下
 楼主| xianyucoder 发表于 2021-8-19 09:19
逝去的初夏c 发表于 2021-8-19 09:06
感觉这种帖子看似很有用实际没任何效果,希望楼主能提供网站地址,让大家都可以去亲自尝试一下

开头不是写了吗
 楼主| xianyucoder 发表于 2021-8-19 09:21
QingYi. 发表于 2021-8-19 09:01
我想看看你的通用環境頭是怎麼樣的

我自己补的有点多 可以看看 b 站上有相关的视频 搜索关键词是`志远js`,里面有相关的内容
 楼主| xianyucoder 发表于 2021-8-19 09:22
why174980 发表于 2021-8-19 09:05
我也想看通用环境

补的有点多 可以看看 b 站上有相关的视频 搜索关键词是`志远js`,里面有相关的内容
未未来 发表于 2021-8-19 09:23
学习啊,谢谢分享
逝去的初夏c 发表于 2021-8-19 09:28

好像就一个加密字符串 没看到网站
csp3949160 发表于 2021-8-19 09:30
向楼主学习!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 11:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表