JS逆向之空气质量历史数据查询

2,127 阅读2分钟

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


前言

目标网站: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解密 在这里插入图片描述 结果 在这里插入图片描述