| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 猿人学第一题采用RPC的解法 -> 正文阅读 |
|
[网络协议]猿人学第一题采用RPC的解法 |
题目1:抓取所有(5页)机票的价格,并计算所有机票价格的平均值,填入答案。
分析网页1.F12查看数据来源发现有个调试断点,影响了使用,我们启用本地文件替代,将这个文件里的3行代码直接删掉,就可以了, 具体启用本地替代方式: 在网页的JS中注入Hook 然后查看网络数据,直接查看XHR数据,在网页上点第二页,找到数据来源,发现URL中有一个 m 的加密参数 2.查看调用栈接着查看请求详情,点击发起程序,查看调用栈 调用栈中的 jquery.min.js 相关的可以先不看,除非其它两个都找不到 其中一个函数名叫request,点进去看一下 发现是被转义的代码,我们把它放进pycharm里打印一下就转回来了… 或者在猿人学的网站的采集分析工具里有一个 反混淆 工具,直接贴进去就行, 转码后的代码大概如下:
第一行的window.url 与数据请求url相同,并且生成了一个 _0xb89747 的查询参数, 通过第5行,可以看见,这个参数就是url 中的 page 和 m, 编写JS Hook文件至于它是如何加密的,不需要去查看,直接使用基于RPC技术的Sekiro,进行hook调用即可 Sekiro Hook Web JS 的详细使用步骤可点击我的往期文章 这里我要取得加密参数,需要自定义一个hook函数,将上面加密相关的代码拷贝进去,剔除掉 $.ajax 请求发送的代码 然后编写完整的sekiro_web_client.js
接下来需要把这些代码添加到原JS 代码的最后去 我右键点击该文件头,发现没有 我需要再回到调用栈,找到该函数所在的文件, 在该调用栈的下方有一个匿名的调用, 点进去查看发现了这段转义的Js代码,是在一个html文件的 所以我上面的代码也需要包裹在一个 启动Sekiro 服务端, 保存刷新网页,看看添加的代码有没有报错… 之前少写个分号,IDE没报错,但是网页上报错了,搞了我好久… 编写爬虫文件
结果:
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 7:44:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |