JS逆向---cookie反爬虫系列(阿里系逆向-实战解析)


前言

Cookie 反爬虫指的是服务器端通过校验请求头中的 Cookie 值来区分正常用户和爬虫程序的手段,这种手段被广泛应用在 Web 应用中。
这次主要是对各类cookie值加密的网站情况进行分析
学习响应cookie和session的处理
学习基于首页返回的cookie值


声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除,请各位自觉遵守相关法律法规。


一. cookie反爬虫

1.1 特征提示

cookie加密一般有一个特征:会对服务器进行多次请求才能有数据
两种形式/情况

  • 1.直接访问对方服务器,服务器通过响应头返回给你一个cookie值(一般有一个关键词会在头部,叫做set-cookie)
  • 2.第一次请求对方服务器时,对方返回一些JS文件,在浏览器里面通过JS算法等情况获得一个cookie值,然后第二次请求时候携带该JS生成的cookie值 进行请求网站。对方显示正常数据(该方法相对来说比较频繁)

2.2 cookie加密原理

在这里插入图片描述

二. 实战分析

  • 逆向目标:今日话题-雪球
  • 逆向参数:acw_sc__v2/cookie值

首先说明一下,该网站属于我们cookie加密之前举例分析的两种情况中的第二种,也是相对来说使用比较频繁,也比较难的一种

开始分析该网站,因为是cookie加密,所以我一般会选择开启无痕模式对其进行分析比较好,然后对页面进行刷新,会发现直接卡住了,陷入到无限debugger中
acw_sc__v2(阿里系cookie参数基本上都是这个-阿里系的一个特征/例如阿里云/阿里巴巴等等)
对其进行分析(一般开启无痕模式比较好)
如果开启无痕模式后没有给跳debugger,直接对document.cookie进行搜索也可以
在这里插入图片描述

然后进行hook技术对其无限debugger进行跳过
对其进行跟栈调试,一直跟栈到最后一步,发现cookie相关位置,打下断点进行测试调试

在这里插入图片描述

发现该位置就是我们所需要的位置,找到了acw_sc__v2逆向参数

在这里插入图片描述

这个值是由reload函数获得的,所以顿到最后一个断点位置之后进行逐步跟栈分析

在这里插入图片描述

这个arg2看起来就是我们要的参数加密数据,打下断点,刷新,分析一下这个位置

在这里插入图片描述
经过确认,该位置就是我们需要的位置,然后对其进行扣代码,解析
进去需要解析的位置,如下,将其扣到pycharm中

在这里插入图片描述

在这里插入图片描述

有混淆,打下断点,在控制台输出一下,逐个将其混淆进行解混淆(也可以直接进行AST语法树解混淆对比),另一个参数也是这样进行分析即可

结果参数展示
在这里插入图片描述
最终获取结果

在这里插入图片描述

写在最后:
本人写作水平有限,如有讲解不到位或者讲解错误的地方,还请各位大佬在评论区多多指教,共同进步.如有需要代码和讲解交流,可以加本人微信18847868809

回答: 在你的问题中,你遇到了一个错误,即"Error: Cannot find module 'crypto-js'"。这个错误是因为你的代码中引用了一个名为'crypto-js'的模块,但是统找不到这个模块。\[3\]为了解决这个问题,你需要确保你已经正确安装了'crypto-js'模块,并且在你的代码中正确引用了它。你可以使用npm来安装'crypto-js'模块,命令如下: ``` npm install crypto-js ``` 安装完成后,你可以在你的代码中使用以下语句来引用'crypto-js'模块: ``` const CryptoJS = require('crypto-js'); ``` 这样就可以解决"Error: Cannot find module 'crypto-js'"的问题了。\[2\]希望这个解答对你有帮助。 #### 引用[.reference_title] - *1* *3* [爬虫 js逆向,调用js 第三方库报错:execjs._exceptions.ProgramError: ReferenceError: crypto-js is not ...](https://blog.csdn.net/weixin_41354919/article/details/116494736)[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^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [2020-1-5 爬网页17-js逆向入门(AES加密-对称加密,crypto,分组模式CBC,填充模式)](https://blog.csdn.net/weixin_42555985/article/details/103840701)[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^v91^insert_down1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值