JavaScript: Chrome 控制台中无法粘贴代码
1. 问题概述:
将代码复制粘贴到 Chrome Devtools 去执行的时候会出现一个警告:
Warning: Don’t paste code into the DevTools Console that you don’t understand or haven’t reviewed yourself. This could allow attackers to steal your identity or take control of your computer. Please type ‘allow pasting’ below to allow pasting. 警告:不要将您不理解或没有亲自检查过的代码粘贴到DevTools控制台。这可能允许攻击者窃取您的身份或控制您的计算机。请在下面键入允许粘贴以允许粘贴。
需要在 Console 输入 allow pasting
后 Enter 开启 (右键)复制粘贴功能。
2. 相关原因:
不允许粘贴代码的原因是因为Self-XSS
。
XSS(Cross Site Script)即跨站脚本,Self-XSS 即自我跨站脚本。
Self-XSS(自我跨站脚本攻击)是一种特殊的跨站脚本攻击(XSS),其中攻击者一般会诱导开发者在自己的浏览器中执行恶意脚本。与常规的跨站脚本(XSS)攻击不同,它不依赖于网站中的安全漏洞,反而着重于利用用户自身可能的代码执行动作。
Self-XSS 攻击通常涉及攻击者诱骗开发者将恶意代码复制并粘贴到浏览器的 DevTools Console 中执行。通常是通过承诺某种奖励来实现这一点,可能是:
- 告诉你这段代码可以让你你能够访问隐藏功能或得到虚拟奖励;
- 假装代码是安全测试或错误修复;
- 告诉你这单代码可以让你入侵网站来获取某些利益。
一旦你执行了这段代码,攻击者就可以控制你的帐户。这可以让攻击者:
- 窃取你的个人信息,例如姓名、地址和信用卡号;
- 代表你发布未经授权的消息或评论;
- 控制你的社交媒体帐户;
- 将恶意软件传播给其他用户。
回想一下,当我们在网站看到某段代码想要执行试一试的时候,好像很少会去考虑它的安全性。事实上,一些网站上散布着大量的这种虚假的攻击代码。
3. 解决办法:
取消 Show warning about Self-XSS when pasting code
以禁用粘贴保护。
在Chrome控制台进入Settings
界面
进入Settings的方法有:
(1). 按 F1
(2). 按 Shift + ?
(3). 点击小齿轮
点击左边 Experiments
或者在搜索框搜索 Self-XSS
取消 Show warning about Self-XSS when pasting code
的勾选
或者在Filter
中输入Self-XSS
,然后取消 Show warning about Self-XSS when pasting code
的勾选。