上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 陈公子的话 - 

webpack逆向-中远海运

[复制链接]
  • TA的每日心情
    奋斗
    昨天 08:49
  • 签到天数: 426 天

    [LV.9]以坛为家II

    148

    主题

    423

    回帖

    1141

    积分

    版主

    积分
    1141

    油中2周年生态建设者

    发表于 2021-8-25 00:42:56 | 显示全部楼层 | 阅读模式

    本帖最后由 小陈 于 2021-8-25 01:34 编辑

    目标网站:

    今天我们的目标就是这个aHR0cHM6Ly9zeW5jb25odWIuY29zY29zaGlwcGluZy5jb20v网站的登录加密。

    第一步:抓包

    来到网站之后,我们输入一下测试的账号密码,抓取登录包来看一下数据的格式。

    如下图:

    image.png

    可以明显的看到密码的参数是加密的,接下来我们就要去源码里面寻找加密的位置,进行分析。

    第二步:加密分析

    首先,我们全局搜索password,在文件中找一下加密的位置。

    image.png

    没有混淆,我们通过几次简单的定位来到提交参数的这个位置,这里显示:

    var a = {
                    username: e,
                    password: Object(o.a)(t),
                    captcha: n
                };

    password也就是我们提交的密码这一参数,在这个位置的时候,加密是已经完成了的。我们在此之前下一个断点。

    下断点刷新当前页面,可以看到成功在当前位置断下。

    image.png

    n("MuMZ");这种格式,上次在jdj里面提到webpack的基本形式,此时我们需要去到n这个函数内部。

    image.png

    直接跳转过来,我们寻找头部和尾部将这个函数扣下来放入编辑器中。如图:

    image.png

    回到网页中来,我们看到这个函数的这个位置

    image.png

    这是webpack的常见形式,在我们扣出来的代码中,我们想让程序正常的执行这个函数,我们定义一个全局变量 get_sign,在函数内部进行赋值。

    image.png

    定义之后我们简单的测试一下这个函数,提示window未定义,那我们在全局定义一下window。

    image.png

    此时,可以正常调用,那我们回过头来继续分析。

    image.png

    从password的加密我们直接跳转过来,发现跳转到o这个函数这个位置,o这个函数又处于“MuMZ”这一模块里面,现在我们已经扣出来了webpack基本结构的代码,我们对其模块进行补充,首先补充的就是“MuMZ”这一模块,我们直接拿出来放在我们的编辑器中。

    image.png

    在“MuMZ”这一模块中有调用了这个东西,因为代码没有混淆 我们直接全局搜索,定位一下调用的这个模块。

    image.png

    定位过来之后我们发现,这个模块里面调用了很多其他的东西,我们简单的看了一下,发调用的东西都在整个文件夹中,同时这个文件没有关于浏览器的一些元素,我们直接把这个文件的代码全部拿下来进行调用就可以了。

    image.png

    如上图所示,现在我们来测试一下程序是否可以正常运行。

    image.png

    正常运行,没有报错。接下来我们就看一下如何进行调用完成加密。

    函数调用

    方法一

    将密码设置为window的一个属性进行传递。

    image.png

    方法二

    直接设置为全局变量,进行传递。

    image.png

    方法三

    设置get函数进行包裹调用。

    image.png

    方法四

    函数包裹password当作参数传递。

    image.png

    结束

    至此,加密就已经搞定啦!可以通过python或者其他方式进行调用!

    哥哥们晚安!

    已有1人评分油猫币 理由
    王一之 + 2 ggnb!

    查看全部评分 总评分:油猫币 +2 

    I don't hate programming but the fucking world.

    该用户从未签到

    0

    主题

    4

    回帖

    6

    积分

    助理工程师

    积分
    6
    发表于 2021-12-4 16:30:27 | 显示全部楼层
    哥哥,执行到最后window.btoa的时候总是报window.btoa is not a function   哥哥上次给我说改对象,呜呜,我还没搞懂,望指教
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2021-12-5 10:54:26 | 显示全部楼层
    安全的登录,现在都TM是,手机号+短信验证码,不给前端留机会,无解
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-8 10:50
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    3

    主题

    59

    回帖

    52

    积分

    初级工程师

    积分
    52

    新人报道

    发表于 2022-2-24 11:18:55 | 显示全部楼层
    webpack居然还能逆向 向大佬学习!
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-11-2 17:37
  • 签到天数: 275 天

    [LV.8]以坛为家I

    110

    主题

    445

    回帖

    957

    积分

    荣誉开发者

    积分
    957

    荣誉开发者油中2周年卓越贡献生态建设者

    发表于 2022-8-7 11:06:12 | 显示全部楼层
    gg为什么这么喜欢逆向呢
    I frequently record, because want to leave something.
    回复

    使用道具 举报

    发表回复

    本版积分规则

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