咱趁热打铁来温故一下webpack如何抠代码的实战,小小逆一下某壳网学习一下,别干违法事情哦,我这只是大家一起学习的一个记录,多行不义必自毙,搞任何事与本人无关。
01
逆向参数
网址:
aHR0cHM6Ly9zaC5rZS5jb20v
接口:
aHR0cHM6Ly9jbG9naW4ua2UuY29tL2F1dGhlbnRpY2F0aW9uL2F1dGhlbnRpY2F0ZQ==
参数:
– loginTicketId
– srcId
– password
02
实战流程
01
抓包找接口
明确我们需要逆向的参数。
02
XHR下断
03
明确方法栈位置
通过对前几个方法栈的调用我们可以去看e在异步前传入的。
那我们就需要断入到异步的位置重新请求。
看到t是传入的对象位置。
发现找到定义的位置了。
04
password参数
我们可以发现password是从credential的t来的。
我们看看t参数如何来的,srcId = window.srcId我们到时候去hook。
t.password是这样产生的,我们再看看o,o肯定在上文中,往上找。
发现o在这里被定义的,下一个断点查看上一个方法栈。
下一个断点,调试查看结果。
发现通过new u.default(s)之后这个结果就被返回了,往上找u结果就发现熟悉的身影。
u = m(n(53)),那就先断一个d看看n是啥。
n就是加载器啊,这一看就是,加载器也找到了,那主文件就是这个了。
直接抠主文件下来。
定义一个全局参数,然后将最后一行的init去掉,换成tool = i,导出结果。
发现打印结果,对比浏览器结果。
发现是一致的。
我们再来看看o是什么。
发现就是一个处理函数。
结果是一样的,所以我们可以知道他是没啥用的ahhh。
看回到new的定义:
s将数据写入我们看看。
s中的this.captcha是由上文生成,我们往上找。
发现是由v new过来的,再找下v,结果肯定也是从加载器中拿过来的。
发现v是n(6)。
其实走的是n(29)用的逗号表达式,我们直接去定义一个。
搞定v之后直接去看看this.captcha
直接写一个new。
再定义一个s,最终代码如下:
执行输出:
下面的警告先不管它,也不知道有用没用的。
反正结果已经拿到了,这个结果就是o。
那我们看到加密password的位置。
直接改下代码测试一下。
发现生成了结果,由于这个加密数据会变,就不放原网站的调试结果了。
长度是一致的。
05
srcId参数
我们去hook,先断住加载。
控制台写入hook代码。
(function(){
//严格模式
'use strict';
Object.defineProperty(window,'srcId',{
set:function (val) {
debugger;
return val;
}
})
})();
然后把load勾去掉,放行就会发现被hook住了。
去他上一个方法栈找加密代码。
这里看到没有做混淆直接设置的那可以直接搜”window.srcId=”直接可以搜索到位置。
用V8引擎带的btoa()编码查看,发现只是base64对内容进行编码。
发现一毛一样只是编码了一下。
那就看里面的数据了。
将断点放到这个方法栈。
发现在这个方法栈有一个设置值的代码。
通过设置a7的数据来设置这个值。
先找b方法的位置。
技巧:控制台输入,点击方法代码直接定位。
然后看a是什么代码就需要将作用域打进来。
发现a是一个数组,那这段代码的作用就是获取数组中的第几个值,这个是混淆常见结果。
e- 0x0的作用就是将字符串当数字类型转。
所以取到的是a[41]。
所以结果是:a7 = c[‘responseText’]
就要看c了,c是一个XMLHttpResponse对象,那结果的数据肯定是来自请求的。
我们直接去看XMLHttpResquest的responseURL。
发现找到数据了,所以这里数据是t的值,我们可以写个爬虫来获取,这里就不写了。
它的请求头是base64编码过的,就是n。
断住后发现是对T数据的data进行base64编码,那我们找上一个方法栈。
往上一个方法栈找,结果在这里jv方法是获取数据的,am是处理成请求数据的,可以直接控制台调一下看看。
可以直接打印一下进去抠两个方法都这样抠,和webpack没关系就不抠了,给个思路。
06
loginTicketId参数
直接搜关键词。
发现随便一个设置值的地方都是长这样。
一看就知道是通过请求拿到的resposne再处理的,我们搜一下数据。
直接搜结果数据。
发现确实通过请求得到。
03
password完整代码
代码量较大,如要查看具体代码,请于交流群里获取。
喜欢就点个关注一起进步吧
此文章仅做学习之用,请勿做违法违纪之事。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/218405.html