Mac下对Chrome插件请求的监听

目录

  • 背景
  • 分析
  • 环境
  • 实践
  • 总结

最近一段时间忙于搬家和适应新的环境,接下来可以正常分享一些工作中用到的东西和学习技巧相关

背景

接手一个需求,想要调研一下某个chrome 的插件为什么能拿到数据

当打开这个链接的时候
https://www.aliexpress.com/af/1PC-Simulation-Grass-figurine-Micro-Landscape-home.html?SearchText=1PC+Simulation+Grass+figurine+Micro+Landscape+home&d=y&initiative_id=SB_20190424011710&origin=n&catId=0&isViewCP=y&jump=afs

安装插件:https://chrome.google.com/webstore/detail/oberlo-aliexpresscom-prod/hmanipjnbjnhoicdnooapcnfonebefel?hl=en

再次打开产品链接时会出现如下效果
《Mac下对Chrome插件请求的监听》
需要拿到Processing Time这个字段的结果

分析

网页上的展现的数据一般就两种途径

  • 来自于网络请求的数据,如:ajax ,websocket
  • 数据本身就存在页面的隐藏域里面,插件以某种方式来解密数据,然后呈现到客户端

我们是装了插件之后,数据才呈现出来的,所以插件非常大的可能性是新增加了一个api去拿数据,但是为了保证实践方向是ok的,我还是要打开Chrome F12去模拟一次请求查看数据的关键字是不是在某个api里面
《Mac下对Chrome插件请求的监听》

在搜索了 daysProcessing Time等关键字之后,确定不在内置的api中,我猜想chrome请求监控 并不会把插件的http(s) api 列出来

还好,chrome插件是以源码形式存在的,我们直接找到插件文件夹就可以了,chrome 插件的文件夹命名就是插件的ID

《Mac下对Chrome插件请求的监听》

我们在本地文件夹里面找一下

一下就找到结果了

里面有3个版本,一般点开最新的就可以了

用Pycharm 打开这个文件夹,然后全局搜索一下’Processing Time’这个关键字
《Mac下对Chrome插件请求的监听》

显示出来是在main.js中体现,那自然的,这个方法是被renderProcessingTime方法回调了,我们在本文件中追查这个方法的源头

查到在初使状态相关的字段
《Mac下对Chrome插件请求的监听》
从字段意思解读出来,那就是shippingInfo这个url比较可疑了,OK,通过源码我们锁定了目标的api url,接下来就有请今天的主角登场了

环境

  • Mac OS (Windows)
  • brew(Mac OS上类似apt-get 或者yum的工具)
    • node
    • npm
  • whistle – http://wproxy.org/whistle/

实践

安装配置whistle

根据文档的指示,完成安装,在安装完之后,直接跳转到这个页面

根据文档提示,安装根证书,不然是没有办法来获取https请求,另外根据文档要求,我们可以进一步安装chrome切换代理的插件
* proxy-switchyomega

《Mac下对Chrome插件请求的监听》
如图配置好我们的代理请求地址

启动工具

切换回命令行,使用命令

《Mac下对Chrome插件请求的监听》
如图所示,我们监控进程已经启动,切换回chrome界面,使用switchyomega切到我们配置的规则
《Mac下对Chrome插件请求的监听》
这里我命令规则为debug,和上面的whistle 规则等同,刷新页面,然后查看
http://local.whistlejs.com/#network

《Mac下对Chrome插件请求的监听》

目标http api 就可以监听到请求了,请求的request 和 response 就轻松展现出来了

编写代码

关于结果的解析就不加以详细说明了

总结

本次主要从

  • 猜想
  • 验证
  • 推翻
  • 重试

的思路,从一个简单的目标关键字,找到最后目标api,然后介绍了新工具whistle的简单使用,当然他的功能强大,可以单独列一个篇章了

关于破解api类别的,如果不涉及加密和解密,一般不会特别的复杂,如果涉及(ps:请遵守相关的法律法规,只用于学习),可以去看雪论坛或者52pojie论坛里面找寻,我们的目标不是要求自己学会各种复杂的技能,是在合理的人力成本和时间内,产生最大的价值,想法比行动重要。

点赞
  1. 彦文说道:

    mitmproxy 也是一样的~

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据