JS逆向04之xhr断点webpack抠代码,图文并茂,导出加密函数。

说明:

本文只针对新手入门了解,高手绕道。
只做技术性研究,请勿用于非法渠道。

目标

https://www.gm99.com/

前言

1、首先准备Chrome内核浏览器,我用的360极速版浏览器。
2、打开目标网址,按F12或者网页空白处右键审查元素(有的浏览器叫检查),打开开发者调试工具。
3、基础不好的看下之前简单得文章,这里不做过多描述。

正式开始

1、随意输入账号密码,点击登录,查看登录请求发现password:被加密。如下图:
在这里插入图片描述
2、懂一点前端应该可以看到这个用的jquery里面有个ajax请求,鼠标放到juqury-1.7.1.js上可以看到,这个发表的函数调用顺序,也就是栈。
在这里插入图片描述
3、点击函数后面提示可以跟到函数调用位置,一般情况如果能看到ajax发包,进上一步,基本就是组包位置。如果调用比较复杂就需要跟栈了,这里ajax上一个s.login看字面意思大概率就是了。点进去看看。
在这里插入图片描述
4、可以看出明显ajax请求data就是传输的数据。这里可以看到,data=p 往上看p是一个对象其中包含password,等于r,再去看r等于g.encode(t.password, s)。大概率就是这个位置加密。
在这里插入图片描述
5、下断点,重新登录,断到183行,可以看到g.encode(t.password, s)第一个参数就是明文,第二参数时间戳。
在这里插入图片描述
控制台输出可以看到直接返回加密后的密文。
在这里插入图片描述
至此加密位置算是找到了,其实用之前几篇文章简单搜索关键词也是可以定位到这里。本次主要知识点是如何抠webpack模式代码。

webpack区分以及简要讲解。

当前断点位置是 g.encode(t.password, s)加密函数调用g对象,这个函数根本没有定义,肯定是对象中其他地方定义。往上翻如下图,g是new出来的,再看大方法, function(t, e, n) 前面是个逗号。
在这里插入图片描述
再往上看,这个函数是被括号+中括号包裹起来的说明,是一个数组,可以理解pytohn中一个列表中包含多个def函数。最外层的括号,是执行函数传参,一直翻到上面函数开始位置。发现是一个自执行函数。
在这里插入图片描述
为了方便查看复制整个代码到本地notepad++语言选择javascript,视图中折叠所有。展开第一个函数,和函数自执行括号中参数如下图。
在这里插入图片描述
这个就是webpack的结构体。

本地模拟下大概这个样子:

!function(x){
   
	function xxx() {
   
        //构造函数,使用call方法或者apply  加载模块
        return
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值