爬虫瑞数5案例:某大学总医院

avatar
作者
猴君
阅读量:2

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关

一、瑞数简介

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。
由于之前某通信的瑞数已经调整,这里再出一篇文章,瑞数特点以及请求执行的流程已在之前的文章中分析过,这里不再特别讲解;该爬虫案例和之前瑞数5唯一的不同就是cookie名称,其他都一样,瑞数5具体特点可参考该文章:https://blog.csdn.net/randy521520/article/details/135304417,这次补环境用的方法和上次不一样,多了补load事件的环境,而且采用了面向对象的方法补环境,在逆向中通常会遇到removeChild、addEventListener、getAttribute这些方法,其实每个标签的这些方法逻辑是相同的,所以这次补环境采用了面向对象继承的写法而不是传统的json,随着逆向的网站增加逐渐完善该js,方便自己之后逆向重新写这些相同的代码,虽然有工具可以自己补环境,但是补出来的很多代码是无用的。如果不想用工具补环境,可以借鉴该案例,虽然比不上工具补的齐全,但是会减少自己的工作量

二、瑞书cookie分析
  1. js运行atob(‘aHR0cHM6Ly9zdWdoLnN6dS5lZHUuY24vSHRtbC9OZXdzL0NvbHVtbnMvNy9JbmRleC5odG1s’)拿到网址,F12打开调试工具(打开F12会遇到无限debugger,这是个eval执行的debugger,右击左侧代码行点击Never pause here过掉即可),刷新页面,找到 News/Columns/7/Index.html 请求(状态200),鼠标右击请求找到Copy>Copy as cUrl(cmd)
    在这里插入图片描述
  2. 打开网站:https://spidertools.cn/#/curl2Request,把拷贝好的curl转成python代码,新建 szdxzyy.py,把代码复制到该文件
    在这里插入图片描述
  3. 调试工具查看cookies,此时cookies中有ihkYnttrQXfVO、ihkYnttrQXfVP,ihkYnttrQXfVO的httpOnly打勾说明是第一次请求设置cookies。而ihkYnttrQXfVP值得第一个字符是代表是瑞数5代,且httpOnly未打勾说明是js生成
    在这里插入图片描述
  4. 使用hook定位ihkYnttrQXfVP,参数生成位置,这里我使用的是油猴
    在这里插入图片描述
  5. 编辑好油猴脚本,启动该脚本,切换到Application,清除浏览器的cookie,一定要清除cookie
    在这里插入图片描述在这里插入图片描述
  6. 清除cookie后,刷新页面后会进入油猴脚本里的debugger,一直点击跳出当前函数,遇到下图arguments[1]出现js代码字符串停下;在点击跳出当前函数过程中会遇到一个虚拟文件,该虚拟文件是下图中的arguments[1]生成的,在这里注意下作用域中的_$mR正好是js字符串
    在这里插入图片描述
  7. 由于虚拟文件,每次生成的都不一样,所以需要把该文件本地替换,替换后刷新页面在该文件内搜索, _KaTeX parse error: Expected group after '_' at position 10: mR),看到类似(_̲On, _$mR)的代码行在该行断点

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!