• aqistudy真气网JS逆向 + 数据采集(20220801)


    说明:仅供学习使用,请勿用于非法用途,若有侵权,请联系博主删除

    作者:zhu6201976

    一、目标站点分析

    站点:https://www.aqistudy.cn/?mobile=false

    难度系数:中级

    反爬点:

            1.反调试:无限debugger + 禁用F12 + 禁用CTRL+S + 禁用右键 + 检测浏览器内宽高......

            2.JS动态返回

            3.JS混淆

            4.JS加密:请求参数加密且参数不固定 + 响应加密

     

    禁用F12

    访问目标网站,按下F12,弹窗提示:

    绕过方式:提前打开F12 或 CTRL+SHIFT+I

    禁用右键:

    绕过方式:代理中间人拦截修改响应检测点 

    无限debugger

    访问目标网站,提前按下F12,进入无限debugger:

    绕过方式:never pause here

    说明:网站反调试主要集中在以下两个链接,可直接使用mitmweb + Python脚本解决,一劳永逸。

    https://www.aqistudy.cn/?mobile=false

    https://www.aqistudy.cn/html/city_realtime.php?v=2.3

    二、分析流程: 

    1.无线debugger --> never pause here


    2.反调试脚本绕过 mitmweb -p 8890 -s mitmweb_test.py

    https://www.aqistudy.cn/?mobile=false --> mitmweb 脚本替换 https://www.aqistudy.cn/html/city_realtime.php?v=2.3 mitmweb 脚本替换


    3.encrypt_e9OKk3qfXQqT.js 动态返回 --> GET https://www.aqistudy.cn/html/city_realtime.php?v=2.3 提取js链接 请求


    4.解密encrypt_e9OKk3qfXQqT.js


    5.补充执行环境依赖 https://www.aqistudy.cn/js/jquery.min.js?v=1.3 静态返回


    6.提取 加密函数名称 data加密参数名称 解密函数名称


    7.执行加密函数 请求


    8.执行解密函数 获取结果

    三、代码执行结果

    此处以采集  杭州、北京、上海、广州、深圳 五城市当日Aqi数据为例,以下为执行日志:

     

    四、获取完整代码

    本项目已开源,原创首发,完整代码详见github:https://github.com/zhu6201976/aqistudy20220801

    欢迎star、交流!

  • 相关阅读:
    【网络】IP协议
    【Java】泛型 之 泛型和反射
    Weblogic(CVE-2017-10271)与 Struts2(s2-045) 反序列化漏洞复现
    C语言实验十二 指针(二)
    vue全局方法plugins/utils
    Bert-as-service 实战
    多线程案例
    PyCharm中使用matplotlib.pyplot.show()报错MatplotlibDeprecationWarning的解决方案
    一名优秀的测试工程师需要具备哪些技能?
    30个Python操作小技巧
  • 原文地址:https://blog.csdn.net/zhu6201976/article/details/126124548