前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DevTools 不让粘贴执行代码了?

DevTools 不让粘贴执行代码了?

作者头像
ConardLi
发布2023-12-13 14:00:02
7.8K0
发布2023-12-13 14:00:02
举报
文章被收录于专栏:code秘密花园

不知道大家有没有发现,最近有时候将代码复制到 Chrome Devtools 去执行的时候会出现一个新的 Warnning,但是有的人却没有这个 Warning ,这是咋回事呢?

大概意思就是,你执行的代码可能不安全,不要随便复制代码...

这挺有意思的,我自己复制的代码有啥不安全的,这有啥好提醒的。

这就不得不提到一种特殊的 XSS 攻击了,这就是 Self-XSS ,也就是自我 XSS 攻击了。

我们怎么攻击自己呢,这里就又会用到 “社会工程学” 了。

攻击者一般会利用一些社会工程的手段来诱导开发者在自己的浏览器中执行恶意脚本。与常规的跨站脚本(XSS)攻击不同,它不依赖于网站中的安全漏洞,反而着重于利用用户自身可能的代码执行动作。

Self-XSS 攻击通常涉及攻击者诱骗开发者将恶意代码复制并粘贴到浏览器的 DevTools Console 中执行。通常是通过承诺某种奖励来实现这一点,可能是:

  • 告诉你这段代码可以让你你能够访问隐藏功能或得到虚拟奖励;
  • 假装代码是安全测试或错误修复;
  • 告诉你这单代码可以让你入侵网站来获取某些利益。

一旦你执行了这段代码,攻击者就可以控制你的帐户。这可以让攻击者:

  • 窃取你的个人信息,例如姓名、地址和信用卡号;
  • 代表你发布未经授权的消息或评论;
  • 控制你的社交媒体帐户;
  • 将恶意软件传播给其他用户。

我们回想一下,当我们在网站看到某段代码想要执行试一试的时候,好像很少会去考虑它的安全性。

事实上,一些社交媒体网站上散布着大量的这种虚假的攻击代码,比如著名海外的社交媒体 Facebook 在有一段时间用户频繁遭受这种攻击,预计专门在网站上发布了警告,提醒大家不要随意执行帖子中的代码:

允许用户将代码粘贴到 DevTools 然后执行它本质上确实是有风险的。但这也是 Chrome DevTools 的核心功能之一。所以浏览器必须在减轻潜在的 Self XSS 攻击和不干扰只想调试网站的开发者的工作之间找到平衡。

对于网站开发者来讲,一般将代码粘贴到 DevTools 中执行之前,都会先大概预览一下这段代码的用途,所以一些不懂代码的网站用户,成为 Self XSS 攻击受害者的风险要高得多。

所以,在近期的更新中,当 Chrome DevTools 检测到没有经验的用户尝试将代码粘贴到 DevTools 中时,就会停止执行并显示警告。

怎么判断你有没有经验呢?DevTools 使用了一个非常简单的启发式方法来决定是否显示 Self XSS 警告:它基于用户配置文件的控制台历史记录。

如果你的个人资料在 DevTools 控制台历史记录中至少有 5 个条目,DevTools 不会通过任何警告或弹出窗口来打扰你。控制台历史记录是开发者在控制台中键入和执行的命令的列表。

所以你清除了浏览器的缓存,或者换了一台新的电脑打开 Devtools 去执行代码,是一定会显示这段告警的。

你必须要手动输入 "allow pasting" 才能继续执行操作,输入之后就不会再提醒了。

或者,如果你把代码粘贴到其他的 DevTools 代码编辑器(例如 Sources 面板)中时,用户体验非常相似,你会看到一个对话框的警告。

你依然要在这个对话框里输入 "allow pasting" 才能继续执行代码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 code秘密花园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
手游安全测试
手游安全测试(Security Radar,SR)为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞(如钻石盗刷、服务器宕机、无敌秒杀等40多种漏洞),提前暴露游戏潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本。该服务为腾讯游戏开放的手游安全漏洞挖掘技术,杜绝游戏外挂损失。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档