猿人学第5题


本文仅供大家学习

  • 1 分析请求
  • 2 加密参数
  • 3 扣代码

分析请求

在这里插入图片描述
这是题目,要求是热度最高的前五名的和。按F12,看看请求的包
在这里插入图片描述
在这里插入图片描述
我请求了两页,请求参数只有两个,m和f

在这里插入图片描述
在这里插入图片描述
从这里看不出啥东西,题目提示cookie只保存50s,那肯定是cookie里加密了
,多次请求发现cookie里有两个值加密了,一个是m值,还有一个
是RM4hZBv0dDon443M
在这里插入图片描述

在这里插入图片描述
把两次的url和cookie拿出来分析

url:https://match.yuanrenxue.com/api/match/5?m=1647409778035&f=1647409777000
//url
//下面是cookie,只拿了加密部分的参数
cookie:
m=9c69e65879573f20085d7a2771a87a41; 
RM4hZBv0dDon443M=0+F9b7iseRE50ASrEbzE1RVCHX8I9iwkMYl4v8yXmT25uSL7v5sZO8Tx4XsMGnX6WU5sckvCyre6WXlxyC89Ey+IDowTvIxSX6Hc0PuCNue1UZCigkJVi9GUdQ0HyTfV/mCLCcFnkfFJ2eiV1oHHXTo0IrZf8Sf6GsYKXZGZIaZ0jn/gJgfIxiQQAQ3l6/Mo80bW3HzI+MvuoEgkgzUQcMG0A5c1qEm45Ki2XSV2fmk=
url: https://match.yuanrenxue.com/api/match/5?m=1647409932219&f=1647409931000
//url
//下面是cookie,只拿了加密部分的参数
cookie:
 m=81618ecb71d36db642ec4f95076fb7c1; RM4hZBv0dDon443M=BSypJaqxtyJ7yRDTjWMxnrnuZa8S7apgFyan/e7GgJyQy01Nd2TIQQe9+QWaThPoaedwulWcjYn8sCBkbIRROcWH3zxVTOIXJ9iaekAN1KT3hprQaewfaAsLUDf7AL4tMS80JrVwwswA8MBsCfuD+eGhkQtV2+MoGWUV7WrSwwZch9c7pJQeSP7vSVaPMo7WWzzdRcwdf/BaISCkSDN5MzNvz+d2urG1w/01OSHDx08=

cookie设置一般是加载的时候,我们可以发现,在打开F12的时候有一段嘲讽的话,这里面有猫腻。

加密参数

上面找到了4个参数,url里两个类似时间戳的m和f,还有cookie里的两个加密参数m和RM4hZBv0dDon443M

分析cookie里的两个加密参数

在这里插入图片描述
进入VM里面,会发现是一大段混淆,也和题目说的一样,应该就是这里进行加密,试试搜索RM4hZBv0dDon443M,
在这里插入图片描述
一个都没有,试试m的话太多了,试试m=
在这里插入图片描述
好,找到了RM4hZBv0dDon443M,它是使用字符串拼接来的,下断点,cookie赋值要重新刷新,刷新一下
在这里插入图片描述
这里就是RM4hZBv0dDon443M生成的地方,进去这里断点断住之后不会立即给它赋值,跳过几次就有值了
控制台输出_0x4e96b4是window
在这里插入图片描述
继续找到它是怎么来的,搜索这个’_$’
在这里插入图片描述
一目了然,RM4hZBv0dDon443M就是AES的ECB加密出来的,那么找明文和密钥
在这里插入图片描述
这种模式的加密,第一个参数就是明文,后面接着是密钥,最后是一些配置
明文是一个数组toString()来的,密钥是window里的【‘_qF’】,
接着找这个明文数组怎么来的,

在这里插入图片描述
搜索这个数组,都打上断点,
在这里插入图片描述
五次添加,第3次添加后会打印两句话,但第4的内容已经有了,而且它加密的地方在最后一次是变化的,这里是一个天坑,慢慢找
在这里插入图片描述
在这里插入图片描述

_$Wa = _0x12eaf3();
_0x3d0f3f[_$Fe] = 'm=' + _0x474032(_$Wa) + ';\x20path=/';
_0x4e96b4['_$pr']['push'](_0x474032(_$Wa));

在这里插入图片描述

这个方法添加的字符串,每次都是加密的,_0x474032这个方法就是加密方法了,这个方法慢慢扣
在这里插入图片描述
一个一个扣就行,

分析密钥

在这里插入图片描述
直接搜索找到密钥,打断点,刷新,放开断点,控制台输出_0x4e96b4[‘_$is’],
在这里插入图片描述

_0x4e96b4['btoa'](_0x4e96b4['_$is'])['slice'](0x0, 0x10)

这个就是密钥了,将_0x4e96b4[‘_$is’]的结果使用base64编码一下,在取它的前16位

分析url里的两个加密参数

打开网页
在这里插入图片描述
m就是加密密钥的那段_0x4e96b4['_ i s ′ ] , f 是 w i n d o w . is'],f是window. is]fwindow._zw[23],

_$Wa = _0x12eaf3();
f = _$Wa;
f是最开始的时间戳,就是为了计时的,50秒cookie失效

扣代码

这里提几个小坑,大坑自己填
在这里插入图片描述

_0x4e96b4[_$UH[0x260]][_$UH[0x8]]['DONE']

在这里插入图片描述
分析大坑的时候,可以hook看它是的结果和明文

//hook代码
(function(){
      var kk_0x474032 = _0x474032;
      _0x474032 = function(e) {
                 var kkk = kk_0x474032(e);
	console.log("明文:", e,"加密:",kkk );
	console.log("_0x4e96b4['_$6_']:" + _0x4e96b4['_$6_'])
	console.log("_0x4e96b4['_$tT']:" + _0x4e96b4['_$tT'])
	console.log("_0x4e96b4['_$Jy']:" + _0x4e96b4['_$Jy'])
	 return kkk;
	}
})()

在这里插入图片描述

大坑就是
在这里插入图片描述
在这里插入图片描述

_0x4e96b4['_$6_']
_0x4e96b4['_$tT']
_0x4e96b4['_$Jy']
这几个的值会变,大胆猜测后面怎么变得
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于您提到的错误TypeError: list indices must be integers or slices, not str,这是因为您在访问列表中的元素时使用了字符串作为索引,而列表的索引必须是整数或切片类型。解决这个错误的方法是使用整数或切片来访问列表中的元素。 关于您提到的猿人js逆向的问,我需要更多的信息才能为您提供具体的答案。对于爬虫编写,您可以使用Python的各种库(如Requests、BeautifulSoup、Scrapy等)来获取网页的内容,并进一步解析和处理。您可以使用这些库发送HTTP请求获取网页内容,然后使用解析库来提取您需要的数据。 爬虫编写的一般步骤如下: 1. 导入所需的库 2. 发送HTTP请求获取网页内容 3. 使用解析库解析网页内容 4. 提取所需的数据 5. 进行数据的进一步处理和存储 您可以根据具体的需求和网站的结构进行相应的编写和调试。如果您需要更具体的帮助,请提供更多的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python:TypeError: list indices must be integers or slices, not str报错解决及原理](https://blog.csdn.net/hhd1988/article/details/128031602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str](https://download.csdn.net/download/weixin_38590567/14871394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值