【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java项目的创建以及注意事项「建议收藏」

    Java项目的创建以及注意事项「建议收藏」Java项目的创建以及注意事项一,创建JavaProject方法1,在左边空白处右键,然后选择new,再点击JavaProject。方法2,点击左上角的File,然后选择new,再点击JavaProject二,给project项目命名,然后点击finish三,打开Test,然后右…

    2022年7月8日
    23
  • python安装numpy后pycharm导入不了_python的numpy库

    python安装numpy后pycharm导入不了_python的numpy库pycharm安装numpy失败的解决办法在pycharm中安装numpy时报错ValueError:check_hostnamerequiresserver_hostname始终无法安装发现最后一行跟hostname相关,就百度了一下发现这篇文章:ValueError:check_hostnamerequiresserver_hostname的解决办法记录发现是因为打开了VPN导致系统代理不正常关掉代理即可安装成功:…

    2022年8月25日
    10
  • JavaScript 数组排序函数sort()的使用

    JavaScript 数组排序函数sort()的使用简介  sort()方法是js中对于数组进行排序的函数。其可以方便快捷的实现对于数组的排序而不用我们自己编写排序方法。注:sort()函数会直接改变原数组。1.纯字符串数组排序letmyArray=[“people”,”person”,”apple”,”ziv”]console.log(myArray.sort())//打印结果[‘apple’,’people’,’person’,’ziv’]  其对于字符串数组直接按照字典顺序进行排序。注意:大小写字母也会影响排序结果,大

    2022年5月20日
    42
  • Mac 从本地copy项目到服务器

    Mac 从本地copy项目到服务器

    2022年2月11日
    51
  • boot sector与superblock

    boot sector与superblock

    2021年7月31日
    53
  • jenkinsfile docker_dockerfile制作镜像

    jenkinsfile docker_dockerfile制作镜像前言之前我们用docker手动安装了jenkins环境,在jenkins中又安装了python3环境和各种安装包,如果我们想要在其他3台机器上安装,又是重复操作,重复劳动,那会显得很low,这里可以

    2022年8月6日
    19

发表回复

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

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