【2021-09-07】JS逆向之空气质量历史数据查询

【2021-09-07】JS逆向之空气质量历史数据查询文章仅供学习使用,请勿用于非法活动文章目录前言一、页面分析二、数据获取三、总结前言目标网站:aHR0cHM6Ly93d3cuYXFpc3R1ZHkuY24vaGlzdG9yeWRhdGEvZGF5ZGF0YS5waHA/Y2l0eT0lRTYlOUQlQUQlRTUlQjclOUUmbW9udGg9MjAyMTA5反爬类型:反调试,动态js,数据加密一、页面分析打开网页后,f12调用开发者工具,弹出提示框解决办法:点这玩意设置里直接打开开发者工具,或者新开一个网页,f12再进链接然

大家好,又见面了,我是你们的朋友全栈君。

文章仅供学习使用,请勿用于非法活动


前言

目标网站:aHR0cHM6Ly93d3cuYXFpc3R1ZHkuY24vaGlzdG9yeWRhdGEvZGF5ZGF0YS5waHA/Y2l0eT0lRTYlOUQlQUQlRTUlQjclOUUmbW9udGg9MjAyMTA5

反爬类型:反调试,动态js,数据加密


一、页面分析

打开网页后,f12调用开发者工具,弹出提示框
在这里插入图片描述
解决办法:点这玩意设置里直接打开开发者工具,或者新开一个网页,f12再进链接
在这里插入图片描述

然后成功打开了,页面马上段住,直接never pause here 跳过
在这里插入图片描述
接着页面不给数据,出来这么些玩意
在这里插入图片描述
然后下js断点,重新进网页
在这里插入图片描述

这里段住,进eval,有两个函数 endebug、txsdefwsw用来反调试的,加载eval后直接将这两函数置空即可。
在这里插入图片描述
在这里插入图片描述

继续走,到首页下面还有两eval
在这里插入图片描述
可以清楚的看到一些检测的东西,逐一修改检测值即可避过检测
在这里插入图片描述
反调试总结

  1. function endebug(off, code) {};function txsdefwsw() {};
  2. window.innerHeight = 1024;
  3. window.clearInterval(handler);

二、数据获取

解决完反调试后,再下一个xhr断点,这里段住,可以看出请求参数和加密的数据
在这里插入图片描述
网上跟就可以看到加密的函数
在这里插入图片描述
自然解密的js也在这个里面
在这里插入图片描述

这个请求的js 就包含了上面动态的加解密js,文件链接在页面源码里
在这里插入图片描述在这里插入图片描述

还有些解密用到的函数,都在一开始的eval里,直接扣下来就行

然后最麻烦的就是怎么获取动态的js了,经测试发现,这个网站没10分钟会动态一次js,且都在xx:x5时间点上,所以调试的时候尽量保存在本地,除非你10分钟就可以搞出来

他的js加密大致有三四套的样子,有直接eval就出js的,还有一次bs64解密跟两次bs64解密后出来的,这些都不重要,之后就写个正则匹配那些调用的方法即可

三、总结

直接eval出js
在这里插入图片描述
一次bs64解密
在这里插入图片描述
两次bs64解密
在这里插入图片描述
结果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150745.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月19日 下午9:16
下一篇 2022年6月19日 下午9:16


相关推荐

  • 路由器有线桥接的两种方式异同

    路由器有线桥接的两种方式异同根据这篇文章 http www gezila com tutorials 46010 html 我小结下两种方式之要点及异同另主路由器为路由器 A 副路由器为路由器 B 方式一 LAN WAN1 A 的 LAN 口接到 B 的 WAN 口 2 B 的以太网接入方式 WAN 口接入类型 选择动态 ip 这个 ip 实质是由 A 的 DHCP 服务分配的 如图 可见 A 给 B 分配的 ip 地

    2025年6月17日
    9
  • tasklist 结束进程_CMD命令利用tasklist与taskkill关闭程序「建议收藏」

    tasklist 结束进程_CMD命令利用tasklist与taskkill关闭程序「建议收藏」昨天远程服务器后,服务器无故卡住了,鼠标各种延迟与无反应,想在进程管理器里关闭程序也卡住,想点击重启系统也卡死无反应。纠结后win+R打开了cmd用shutdown重启才算搞定。重启期间思考了下,如何用cmd命令来管理系统进程,搜索后得到用tasklist与taskkill十分方便,记录如下:cmd命令输入tasklist/?后得到TASKLIST[/Ssystem[/Uuserna…

    2022年6月3日
    56
  • 解密manus的神秘面纱-搜索JackMa演示多智能体(Agent)的强大无比

    解密manus的神秘面纱-搜索JackMa演示多智能体(Agent)的强大无比

    2026年3月15日
    2
  • python matplotlib 安装 和错误处理

    python matplotlib 安装 和错误处理pythonmatplotlib安装和错误处理,错误处理亲测十分有效。

    2022年6月22日
    35
  • js数组添加元素的几种方式

    js数组添加元素的几种方式方法一 在数组开头添加元素在数组开头添加元素可以通过数组名 push 方法来实现 该方法可以接受任意数量的参数逐个添加到数组末尾 并返回修改后数组的长度 改变了原来的数组 vararr 2 3 4 arr push 5 hello 6 8 参数可以是数值 字符 数组 console log arr 方法二 在数组末尾添加元素在数组末尾添加元素可以通过数组名

    2026年3月18日
    2
  • 关于CPU编程—无锁编程

    关于CPU编程—无锁编程Lock-free算法通常比基于锁的算法要好:从其定义来看,它们是wait-free的,可以确保线程永远不会阻塞。状态转变是原子性的,以至于在任何点失败都不会恶化数据结构。因为线程永远不会阻塞,所以当同步的细粒度是单一原子写或比较交换时,它们通常可以带来更高的吞吐量。在某些情况下,lock-free算法会有更少的同步写操作(比如Interlocked操作),因此纯粹从性能

    2022年6月1日
    20

发表回复

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

关注全栈程序员社区公众号