【学习心得】爬虫JS逆向通解思路

        我希望能总结一个涵盖大部分爬虫逆向问题的固定思路,在这个思路框架下可以很高效的进行逆向爬虫开发。目前我仍在总结中,下面的通解思路尚不完善,还望各位读者见谅。

一、第一步:明确反爬手段

反爬手段可以分为几个大类

(1)检查请求头信息

        服务器会检查User-Agent、Referer、cookie、检查加密的URL/API参数等等。

        1、请求参数加密反爬

        其中最重要的是请求参数加密(包括URL/API本身加密,获取加密部分请求参数),关于这种反爬手段我单独写了一遍如何逆向的思路文章,大家感兴趣可以来瞧瞧。

【学习心得】请求参数加密的原理与逆向思路icon-default.png?t=N7T8http://t.csdnimg.cn/C5ShF

        2、User-Agent反爬

        3、cookie反爬

(2)响应数据加密

        响应数据加密是常见的反爬手段的一种,它是指服务器返回的不是明文数据,而是加密后的数据。这种密文数据可以被JS解密进而渲染在浏览器中让人们看到。关于这种反爬手段也是非常常见,所以我也单独写了一篇逆向思路的文章并附有源码案例哦!

【学习心得】响应数据加密的原理与逆向思路icon-default.png?t=N7T8http://t.csdnimg.cn/3Qw9L

(3)对JS压缩、混淆和加密

JS代码运行在客户端是公开透明的所以有必要为了反爬进行一些处理。

(4)IP限制

(5)验证码

(6)字体反爬

二、第二步:针对不同的反爬手段采集相应的策略

(1)若为“URL/API参数加密”

a、寻找并快速定位加密入口【寻找入口、快速定位】

b、找到入口后进行调试分析【调试分析、破解加密】

c、分析过后通过代码模拟执行生成加密参数【模拟执行、生成参数】

(2)若为JS压缩、混淆和加密

a、若是JS压缩:可用浏览器代码格式化、复制到pycharm里进行代码格式化

b、若是JS混淆:则需要再判断混淆手段

        变量混淆、常量混淆、控制流平坦化、调试保护等等

c、若是JS加密:测需要再判断加密方式

        AES、MD5、SM、SHA-1、Base64等等

【学习心得】AES对称加密入门icon-default.png?t=N7T8http://t.csdnimg.cn/CSAba

三、总结

        JS逆向技术内容非常庞大繁杂,我画了一张思维导图帮助大家理解。图中还有部分内容由于本人尚在学习中所以还不全面。

JS逆向技术总结
JS逆向技术总结

        

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值