请求逆向|加密案例--2、Wepack单文件逆向全解析

1、访问观察目标网站

2、分析目标逆向需求

3、快速生成请求代码

4、定位关键逆向位置

5、加密解密算法分析

6、数据加密解密实操

1、访问观察目标网站

aHR0cDovL2FlcmZheWluZy5jb20v

2、分析目标逆向需求

情况说明:在登陆的时候,会有一个签名值

3、快速生成请求代码

https://curlconverter.com/

4、定位关键逆向位置

推荐使用正则搜索 \bs\b:

经过几次测试,都只在这里停下来,所以,除了这个断点,其他的就可以取消了

而且,从某种程度上来说,这个地方就是sign生成的位置,r就是参数

那么相对应的hash就是加密函数

但是,我们这里是要练习webpack,所以,我们不用扣js代码的方式,所以,我们换一种方式定位

并且我们可以确认,这里就是sign值生成的位置,也就是加密函数调用的位置

那么,这个加密函数具体都做了什么呢?我们就可以通过堆栈回溯,去看他上一步都在做什么

5、加密解密算法分析

webpack启动,我们这次不针对具体的方法本身,我们针对函数进行

所以,如果,我们能够复刻函数c,直接从c里面直接调用加密方法defalt,那么,也就完成了加密方法的还原

由于,代码都是从上往下的运行,所以,我们需要的方法,肯定就需要从下往上找

断点重放,找到n这个webpack加载器的位置

随后,直接将整个文件直接考走

然后找到我们的webpack的加载器

为了能够更好的去全局使用这个加载器,我们现在要去创建一个变量环境文件来储存全局变量

Windows

当前只需要一个,所以只写一个

执行逻辑,用单独的main.js 来实现

其次,变量环境文件要优先放到首位,否则其他地方没法使用到这个全局变量环境文件

现在变量环境做好之后,就可以去给我们的调度器,去设置全局变量了,这样子才能够随处使用

最后,就是测试调度器是否可以随处可用

既然调度器可用了,那么接下来就是,复刻原本调用的方式和流程

n是我们的调度器,141 是要调用的目标

所以给我们的调度器传参

再往后我们补全所有状态

继续补全状态

继续补全环境,经过测试,要补全很多,所以干脆把相关的都拿过来,多了不怕,少了会出问题

最后,测试看一下是否能看到数据了

这下就能够正常的看到时间戳和sign值了

为了方便调用,我们现在要把生成sign的这部分,变成一个函数

然后现在,就是要把这些东西装载到py文件中了

经过测试,能够正常的获取到时间戳t和sign值s

但是,这里得到的数据是字典{} 如何放到json格式的文件中呢?

这样就动态的将数据更新进去了,因为账号密码本身就是不对的,所以,肯定会报错

如果后续,再将,账号和密码,制作成为动态的,就可以进行漏洞的测试和批量账号的登陆了

6、数据加密解密实操

具体的代码没法提供,实在是太多了,几万行,跟着做其实很快就能搞定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛卡定律

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值