JavaScript奇技淫巧:代码复制陷阱
编程人员在日常的工作中,经常会在网上查找资料、复制一些现成代码使用。
这是很习惯性的操作,但有危险隐含其中,特别是JS代码。
比如,看看下面的操作是不是很神奇:
先选中并复制网页中的内容:
然后粘贴。怪异的是:粘贴后出现的并不是只是刚刚复制的信息,而是有多出的内容:
本文的例子中,仅是增加了一行alert代码。
假如上面例子中额外的JS代码是恶意的,比如是“img洪水”、“挖矿”等等代码,甚至是木马、后门。如果直接复制使用了,那么,后果可能很严重。
如上图所示操作,技术原理是:接管页面或某个元素的oncopy事件,即:复制事件,在劫持的copy事件函数中,对复制内容进行增加、修改。
copy pre {
background-color: #eee;
padding: .5em;
}
请复制下面这行代码:
alert("JShaman:专业的JS代码混淆加密平台");
复制后请粘贴试试:
保存为html,打开即可测试其效果。
从上面代码中可以看到,核心操作只有区区几行,读源码即可知道原理。
可能有人说:复制时就能看到代码,有没有风险一看便知。
道理似乎没错,但如果复制的代码量大呢?特别是:如果代码经过加密处理了呢?
比如用JShaman可以对JS代码混淆加密:
混淆加密后的JS代码会成为:
这样,便很难看出代码的含义,即使有危险的操作,也无法察觉。
因此,再次友情提示:复制代码有风险,COPY需谨慎。
更新时间:2024-08-10
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号