【Js逆向】某博反爬机制的逆向分析

admin 2024年2月7日19:43:33评论15 views字数 1730阅读5分46秒阅读模式

本文是i春秋论坛签约作家「ius」分享的技术文章,所涉及的内容及软件仅限用于学习和研究目的,不得将正文内容用于商业或者非法用途公众号旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。

【Js逆向】某博反爬机制的逆向分析

ius

i春秋签约作家

大家好,我是ius,一名在校学生,因为对信息安全专业感兴趣,利用业余时间自学了一些网安技术,个人比较擅长Misc、Web安全、代码审计等。

【Js逆向】某博反爬机制的逆向分析

相信很多接触过爬虫的师傅,在对某博进行请求的时候,发现某博是会对cookie校验的,而我们在模拟操作的时候,是直接把浏览器的cookie进行copy,虽然我没有测试过这个cookie的有效期,但我觉得这样只适合日常测试或教学,不能实现一劳永逸。

当我们没有携带cookie进行某博的访问时,会出现Sina Visitor System字样的标题,如果我们是正常的浏览器访问的话,这个空白页面会一闪而逝,然后跳转到某博界面,所以可以确定,这个页面就是某博的反爬机制,我们的研究也就从此处开始。

测试链接:

https://s.weibo.com/weibo?q=%E8%9C%98%E8%9B%9B%E4%BE%A0

打开一个无痕界面,在F12中打开,停用JavaScript,因为空白界面一闪而逝,我们要先停掉跳转,方便分析。

【Js逆向】某博反爬机制的逆向分析

访问链接,我们看到了这个反爬页面的全貌,此处空白是空白页的颜色。

【Js逆向】某博反爬机制的逆向分析

我们对此处断点,断点后在刚才的地方关掉停用JavaScript,刷新界面,发现断点成功。

【Js逆向】某博反爬机制的逆向分析

我们的目的是找到生成cookie的位置,知道目的之后,开始逐步分析。
走完html发现进入到了这个js文件内,每块代码的作用已经注释好了。

【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

当我们断点跟到此处的时候,发现了设置cookie的代码。

【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

向上找堆栈,看看cookie是如何生成的。
看到此处的我大吃一惊,因为这并不是js代码,反而是一个请求返回内容,然后继续向上看,跟到了刚才的空白页中。

【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

既然知道是从网络请求的cookie,我们就打开网络面板,揭开它神秘的面纱:

【Js逆向】某博反爬机制的逆向分析

这样看太费劲了,我们copy到postman里分析,同时也是为了方便调试。

【Js逆向】某博反爬机制的逆向分析

ctrl+o直接把curl甩进去,接着请求一下,可以看到请求成功的cookie。
POST的内容也是固定值,看样子没有什么要分析的:

【Js逆向】某博反爬机制的逆向分析

点击右侧边栏的<> 然后转换成python语言,放到ide里,请求成功。

【Js逆向】某博反爬机制的逆向分析

然后我们使用正则,将cookie中的SUB、SUBP、tid提取出来,再次运行。

【Js逆向】某博反爬机制的逆向分析

没有问题,包装成函数,方便调用,顺便改个文件名方便导入。

【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

下面进行测试,先导进来看看能不能用。

【Js逆向】某博反爬机制的逆向分析

请求正常,用刚才的测试链接进行访问试试。
访问失败了?

【Js逆向】某博反爬机制的逆向分析

在这里我又进行了无数次的调试,抓包。结果最终发现:

【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

是这里的cookie名称写错了,应该大写为SUB、SUBP。
Tips:tid在后来测试中发现没有使用,然后我就删掉了。
修改完之后,我们再来测试一下,不出意外的话,请求成功了!

【Js逆向】某博反爬机制的逆向分析

至此,某博反爬机制成功绕过!
经过多次请求发现,这个地方的cookie是跟IP地址有关的,只有更换IP后才会刷新cookie。当然,如果当前IP的访客cookie过期的话,是会自动更新的。
后记
写完代码之后,想起来之前写的一个某博扫码登录程序,最开始的时候是可以用的,后来再次请求的时候会出现Sina Visitor System,当时技术有限,不知道怎么解决。这次既然解决了,把cookie带上看看能不能成功运行,代码成功运行,获取登录cookie成功!

【Js逆向】某博反爬机制的逆向分析

圆了高中时期,在手机上逆向某博生成短链接的梦。
总结
对于Js逆向的学习,我结合实际案例,陆续更新了系列文章,感兴趣的小伙伴请关注后续公众号推文。
对于刚入门Js逆向的小伙伴,我个人建议先了解Js的基本语法,学会使用F12开发者工具,然后是对于流程的分析,断点跟栈,一步一步调试,掌握基本操作后,可以去找网站实战,这样可以快速提升实战技能。
看明白不代表真的学会了,大家还是要自己动手实操一下,如过程中遇到问题,欢迎加入i春秋的学习交流群,一起探讨,共同进步。
【Js逆向】某博反爬机制的逆向分析

【Js逆向】某博反爬机制的逆向分析

(联系管理员,申请入群)

再次强调

本文所涉及的内容及软件仅限用于学习和研究目的,不得将正文内容用于商业或者非法用途

【Js逆向】某博反爬机制的逆向分析

👉【Js逆向】浅析前端加解密

原文始发于微信公众号(i春秋):【Js逆向】某博反爬机制的逆向分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月7日19:43:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【Js逆向】某博反爬机制的逆向分析http://cn-sec.com/archives/2478592.html

发表评论

匿名网友 填写信息