【猿人学WEB题目专解】猿人学第1题

🌈据说,看我文章时 关注、点赞、收藏帅哥美女们 心情都会不自觉的好起来。

前言:
🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
👍专栏介绍:猿人学WEB题目专解 ,提供猿人学WEB题目总计20题的解题思路与方法,如有讲述错误,请不吝赐教。

想看往期历史文章,可以浏览此博文: 历史文章目录,后续所有文章发布都会同步更新此博文~

人生苦短,我用python

题目网址

猿人学第1题

题目详情

在这里插入图片描述
让我们计算计算所有机票价格的 平均值

题目思路

首先肯定要打开开发者工具,刚上来就给了我们一个下马威,我们先不管他,刷新一下,加载出这个网页的资源:
在这里插入图片描述
然后再看这个下马威:无限 Debug + 控制台输出污染,然后每次点下蓝色小箭头,控制台就会输出一次错误。
在这里插入图片描述
先尝试选择一律不在此暂停,然后点蓝色小箭头,发现 Debug 虽然不会弹出了,然下方依旧会有错误输出:

在这里插入图片描述
这时候为了我们干净的控制台,我们选择直接把 console.error 给屏蔽了,加上这行代码:console.error = function(){},瞬间他就不输出了,我们可以安安静静的开始继续分析了。
在网络一栏中,可以很明显的看到第一页是 https://match.yuanrenxue.cn/api/match/1?m=XXX,点击第二页出现 https://match.yuanrenxue.cn/api/match/1?page=2&m=XXX ,这下可以明白需要 page 页数和加密的参数 m 了,再看看载荷,m 是由两段参数组成的,左边未知,右边疑似时间戳,每次请求两边都会变,说明左边的很可能是由时间戳控制的,也有可能有随机数在里面。
点开启动器,查看请求调用堆栈:
在这里插入图片描述
很明显是由那个 request 方法发起的请求,点进去就看到了让人想放弃的代码:
在这里插入图片描述
很明显这段代码经过了Obfuscator混淆,正常人根本就难以看懂,一看给他的难度定义居然是简单,大家这里不要对自己的能力产生怀疑,看着难的,说明是第一次接触这个,多接触接触,就习惯了。
其实看到这已经可以猜出来了,这用的是 jQuery 框架,$['\x61\x6a\x61\x78'] 这里就应该是 $['get'] 方法,window['\x75\x72\x6c'] 这里是请求的 url地址,猜都猜出来是 /api/match/1 了。![] 可能很少遇到,但是到了混淆这里,经常遇到,![] 就是 false 的意思(因为在JavaScript,[] 代表 true),看这三元表达式就能看出来:
在这里插入图片描述
所以 _0xb89747 = _0x5d83a3 就是上面那个字典是请求的两个参数,第一个参数一看大致是当前时间戳 + 100000000,但是我们搜索第二个参数的方法名称 oo0O0 的时候,发现搜不到定义的地方!解个题变成侦探了,想找到函数的蛛丝马迹。
在这里插入图片描述
看一眼请求列表,经过排除,发现在请求前,唯一可以提供函数方法就是在页面本身,于是我们打开当前页面源代码,搜索这个函数,发现确实找的到:

function oo0O0(mw) {
   
    window.b = '';
    for (var i = 0, len = window.a.length; i < len; i++) {
   
        console.log(window.a[i]);
        window.b += String[document.e + document.g](window.a[i][document.f + document.h]() - i - window.c)
    }
    var U = ['W5r5W6VdIHZcT8kU', 'WQ8CWRaxWQirAW=='];
    var J = function(o, E) {
   
        o = o - 0x0;
        var N = U[o];
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值