JS逆向|半自动补环境插件实战操练:某常见cookie反爬

举报
悦来客栈的老板 发表于 2022/03/30 23:05:19 2022/03/30
【摘要】 关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除! 昨天讲了V神插件的安装和简单使用,今天再讲一个案例,说说为啥我说它是半自动补环境的插件。 一.抓包分析 在这里我使用的是火狐浏览器进行抓包分析,插件安装在谷歌浏览器上面。如上图所示,一个html...

关注它,不迷路。

  • 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

昨天讲了V神插件的安装和简单使用,今天再讲一个案例,说说为啥我说它是半自动补环境的插件。

一.抓包分析

389298a7c15be5b50577bd8c83b970a4.png

在这里我使用的是火狐浏览器进行抓包分析,插件安装在谷歌浏览器上面。如上图所示,一个html被请求了3次,第一次返回响应码 521,第二次同样返回响应码 521,第三次才返回请求成功的响应码 200。

再看第一个请求返回的内容:

09ba954272bf306c79b93623a9fe97b3.png

是一段js代码,很简单,设置了cookie的值,再看第二次请求返回的内容:

230a801d142831fe68aa0fd962a0a348.png

同样返回一段js代码,不过很明显是一个典型的ob混淆。

稍微有经验的朋友都知道,这是一个很典型的cookie反爬,第一次请求生成一些cookie值,然后第二次请求时需要带着这个cookie值进行访问,才能返回结果。当然这个步骤可能会很多,视网站而定。

因此在这里记录一下,第一次请求后生成的cookie值:

20123fba2c4ce701e6fb2ad5e8192768.png

__jsl_clearance_s:

"1648552579.045|-1|E8WWETt7hKurA5d8QJ4jRxd4x14="
  

第二次请求后生成的cookie值:

980f7bd444b66734954bc13e2223b797.png

__jsl_clearance_s:

"1648552579.18|0|DOmfr1fhAi2pcpphyj4ZmlGDnYU="
  

分别把这第一次和第二次请求的结果,去掉 script 标签,保存到同一个文件里,命名为 v.js.并添加代码,打印其cookie值:

cd7bb3bf425f88309c2e668464466c63.png

二.生成临时环境

然后,我们在谷歌浏览器上生成环境,同样的打开同一网站.

注意,先要清除掉cookie等缓存后,再生成临时环境

将生成好的临时环境代码复制到v.js中,放到第一行代码的前面去,先屏蔽掉init_cookie 的 调用:

// init_cookie("__jsl_clearance_s=1648553749.785|0|%2Fpj3mNe71Tuua4I0W3BTEqdW0qA%3D")
  

然后运行:

c1c9dde486c1c46d3fc3f9e5374fc2fd.png

打印太多看不清楚,置空它自带的打印函数:

var v_console_log = function(){{}}
  

再次打印,如图:

7c568ee03127301a798f5fedc7fb1205.png

对同一cookie值打印了两次,而且你仔细观察后会发现,打印结束后会有明显的停顿,这种情况下,说明有定时器 setTimeout,对第二段js搜索后发现,它在这里仅有一处:

065af03b6432ca2308e19cdd178a0d49.png

条件好的,可以将这段js代码进行还原,定时器相关代码如下:

4a27d9fab2e7144d51b148e4545cb541.png

原来它将cookie设置在定时器中运行,难怪打印的时候显示不到,我们这里将 setTimeout 这个函数进行改写:


   
  1. var v_new_setTimeout = setTimeout;
  2. setTimeout = function (a,b)
  3. {
  4. if (typeof a == "function")
  5. {
  6. a.call(null);
  7. }
  8. else
  9. {
  10. v_new_setTimeout(a,b);
  11. }
  12. }

并插入到这两段js代码前面。再次运行:

8ed5cd768339f1a9fc269a038d37749d.png

可以看到,现在运行后这两次的结果不同了,与上面记录的值比对,发现一模一样,至此,完美解决,nice。

-------------------------------广告分割线------------------------------------

月末了,来一波星球福利,欢迎加入。

2d27b3c497dddf3dc0f21c39d9d63a39.png

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/123836283

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。