• 【复】一次流量分析经历


    前言

    最近在研究 BOT,今天突发奇想,想把 OfferShow 的功能集成在 BOT 上,于是就开启了这一段坎坷之旅;

    此篇仅用来学术交流,若有其他行为,请行为人自己负责!
     

    Stream

    由于 OfferShow 是微信小程序,所以最早就用 Stream 进行抓包,其实那时候离结果很近了,但是没怎么注意…

    下面是直接抓到了请求接口的包,直接 curl

    curl 'https://www.ioffershow.com/V4/search_salary'  -H 'Host: www.ioffershow.com'  -H 'Connection: keep-alive'  -H 'Content-Length: 100'  -H 'token: ...'  -H 'content-type: application/x-www-form-urlencoded'  -H 'Accept-Encoding: gzip,compress,br,deflate'  -H 'User-Agent: ...'  -H 'Referer: https://servicewechat.com/.../.../page-frame.html'   --data 'ordertype=2&content=content&search_priority=1&part_school=&xueli=&year=' 
    
    • 1

    成功拿到返回值,本来是万事大吉了,但是 token 有时效性,大概是十分钟左右,再次请求:

    {'result': 1, 'msg': 'Token过期', 'data': '', 'code': -1}
    
    • 1

    因此,现在要做的就是找到返回 token 的接口,这是在通过 Wireshark 进行分析之后回头来看才发现的,回来自己早抓到了这个接口:

    但当时没有细看,因为不是主打流量分析的,对这些词汇并没有这么敏感,而且点进去看,发现请求体里带着 token,就草草地略过了…

    在这里插入图片描述

    直接 [ 痛苦面具.jpg ] …

     

    Fiddler

    最初是误以为 Stream 没有抓到自己想要的包,因此想通过 Fiddler 再进行尝试,结果更是一塌糊涂;

    在做好前期的准备工作后开始抓包,在同一局域网下,使用 Fiddler 进行代理访问 OfferShow,结果发现卡在进去的界面了,然后 Fiddler 也没有捕获到相关的数据包;

    去谷歌了一下,得知现在版本的微信只信任自己带有的证书,并没有详细去查能不能在微信里安装证书,因此,Fiddler 的证书是不被信任的,因此就造成了连接失败,无法访问 ;

    然后又看到有说电脑微信开小程序可以被抓到,就根据网上教程,做了一些如何抓取 HTTPS 数据包的设置,不过给我返回数据全是乱码,参照别人的解决方法也无济于事,因此就放弃了,转而使用 Wireshark 了;

     

    Wireshark

    最终无奈之下,只能开启流量分析神器 Wireshark 了,直接上图,我已经把关于 OfferShow 的流量包都过滤出来了:

    经典的 HTTPS 握手过程:

    在建立连接之后,就是进行数据的传输了:

    服务器在接收到通过 TCP 传输的数据包后,做出了响应,发送给请求方 token

    之后就是带着这 token 去进行请求了,


    之后就会拿到响应数据,不过需要进行 Unicode 解码;

    直接复制到在线解码网站就行,这种现在还是很多的,比如站长工具

    其实也可以直接 追踪流 -> HTTP 流

    这样就比较快捷易看;

    总结得出,只要我们能获取到 js_code,我们就能够获取到 token

    但是 js_code 是一次性的,且好像需要 APPID 和 APPKEY 等,大概就是用户不太能主动获取的样子…

     

    后记

    因为 js_code 的特殊性,关于 OfferShow 的接口调用也就暂时先告一段落了,之后再看看能不能另辟蹊径吧,总的来说还是有收获的,不错!

    此篇仅用来学术交流,若有其他行为,请行为人自己负责!

  • 相关阅读:
    Python:Excel自动化实践入门篇 甲【留言点赞领图书门票】
    Qt MQTT开发环境搭建
    包教包会,纯 CSS 实现步进环绕跑马灯效果
    《数字图像处理-OpenCV/Python》连载(2)目录
    查看服务器CPU信息
    k8s的pod内部打包工程镜像
    无痕 PS、读得懂文字,OpenAI 的二代 DALL·E 惊艳亮相
    etcdctl 恢复k8s后报错
    C++类与对象——封装
    Vue文件上传和图片上传实例
  • 原文地址:https://blog.csdn.net/weixin_46263782/article/details/126310572