| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 猿人学12题超详细解题思路-入门级js(base64编码) -> 正文阅读 |
|
[JavaScript知识库]猿人学12题超详细解题思路-入门级js(base64编码) |
前言:服务器为了防止获取他们的数据,可谓是使用各种方法,js逆向可以很方便的解析出来一些加密数据,毕竟道高一尺魔高一丈,今天告诉大家袁人学第12题的解题思路,超详细解题思路。 需求: ????????抓取这5页的数字,计算加和并提交结果 这个跟之前的cookie反扒的需求一样,需要看的可以去猿人学13题解析去查看,这题跟之前13题差别就在于一个是cookie反爬,一个是js反爬,接下来开始解题: 1.分析过程 老规矩打开我们的f12开发人员调试工具,点击第一页的按钮进行抓包可以看到cookie中我们只需要知道一个sessionid,再看请求数据: 刚进来就看到了这个请求url后面的m参数好复杂,应该是加密过的,请求头里没什么可疑数据,看来我们接下来就需要分析这个m参数是怎么来的了。 首先猜测,可能是通过加密得来的,常见的加密有base64和md5,md5加密的话没有这么短,那极有可能是base64加密得来的,加密的话需要运行js代码,我们全局搜索一下这个m变量 ?这种单字符变量直接搜索果然不现实,太多结果了没法找,我们换种思路,寻找一个跟m在一起的参数page试试 ?三个js文件里有,大大缩减了我们的寻找范围,点开第一个文件看看附近没有m不太像,点开第二个js文件 基本确定就是这个了。看代码段window.page是一个数值表示的第几页,btoa函数经过查询是前端进行bs4编码的一个函数,我们使用工具进行编码对比一下 ? ?与m的值一模一样,分析成立,开始代码实现 2.上代码sessionid怎么获取不知道的看下我猿人学13题解题思路 我们需要使用两个库: base64:进行base64编码 requests.session:与服务器保持长连接 jsonpath:便于我们对得到的js数据进行提取
成功得到数据需要注意的是在使用base64编码时候需要把字符串转换成字节类型,进行base64编码过后再转换回字符串,我就因为这个耽误了一点时间 大功告成,解散 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:04:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |