js逆向案例-css字体反爬

一、反爬点

  • 案例网站
  • 响应参数js加密, css字体伪元素隐藏,以及style取值等逻辑判断
    在这里插入图片描述
    在这里插入图片描述

二、反爬分析

1、js逆向解密响应参数
  • 突破入口,响应数据里面有个eval,所以直接hook eval
    在这里插入图片描述

  • hook eval步骤1:先根据堆栈回溯打上断点,然后刷新网页断在send断点这个位置,然后控制台输入hook_eval的js,然后取消send的断点,然后F8调试进入下一步
    在这里插入图片描述

在这里插入图片描述

  • 步骤2观察:此时已经hook住,断点停在了此位置,这里即给window的一个属性进行了赋值;堆栈往前回溯看,发现这段js其实就是响应参数key的那段js;堆栈再往前回溯下个断点在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 步骤3观察:重新刷新网页,断在此处,即响应参数的解密位置,开始直接扣函数,使用AES解密
    在这里插入图片描述
    在这里插入图片描述

  • 步骤四扣函数:如图修改差不多就这样的代码
    在这里插入图片描述

2、css字体伪元素分析
  • js逆向响应参数解密后,仍然不能拿到真实数据,因为混了css字体反爬,响应参数只是返回了html和其过滤的样式特征;通过style的样式才能判断哪些class属性需要被过滤和保留
    在这里插入图片描述
    在这里插入图片描述
  • 接下来就是根据css_style的特征去判断取值逻辑,以及过滤逻辑了,如果对style前端了解的话就能总结出所有类特征判断;不会的只能慢慢总结判断即可解决得出哪些真实值
    • 如:e8efa9:after{content:attr(e817)}:代表类标签为.e8efa9的取e817属性的值
      在这里插入图片描述
    • 又如:e8b4d6{text-shadow:none;overflow:hidden;background-color:transparent;border: 0;height:1px;padding:0;margin:-1px;position:absolute;clip:rect(0,0,0,0);width:1px},有这些style特征的类e8b4d6标签需要隐藏
      在这里插入图片描述
  • 然后python判断伪元素css等特征差不多是如下图片的逻辑,需要对前端了解的多些,找特征
    在这里插入图片描述
    在这里插入图片描述
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>