程序员们在日常的编程工作中,难免会在网上查找资料、复制一些现成代码使用。
这是很习惯性的操作,但有危险隐含其中,需要提高警惕。
![](http://dingyue.ws.126.net/2022/0325/d14a6a2fj00r9aqze004wc000yr00ktm.jpg)
打开网易新闻 查看精彩图片
比如,看看下面的操作是不是很神奇:
打开网易新闻 查看精彩图片
如上所示,复制了一行JS代码,但粘贴后出现了额外的代码!
![](http://dingyue.ws.126.net/2022/0325/19a295eaj00r9aqzd001nc000or00fvm.jpg)
打开网易新闻 查看精彩图片
如果额外的这段代码是恶意的、甚至是木马、后门。而如果直接复制使用了,那么,后果很严重。
可能有人说:复制时就能看到代码,有没有风险一看便知。
道理似乎没错,但如果复制的代码量大呢?如果代码经过加密处理了呢?
因此,在网上复制代码,一定要小心谨慎。
再来说这种复制陷阱的原理:
如上图所示操作,实现的原理是:接管页面的oncopy事件,在事件中,对复制内容进行修改。
源码如下:
![](http://dingyue.ws.126.net/2022/0325/03f274acj00r9aqze0035c000qg00pzm.jpg)
打开网易新闻 查看精彩图片
保存为html,打开即可测试其效果。
从代码中可以看到,核心操作只有区区几行,如果查看源码即可知道原理。
但如果图中的JS代码经过加密呢?比如用JShaman对框选的代码加密,会成为:
![](http://dingyue.ws.126.net/2022/0325/f61ceb60j00r9aqze00a9c001di00sum.jpg)
打开网易新闻 查看精彩图片
这样,便很难看出代码的含义,即使有危险的操作,也不易被查询。
因此,再次友情提示:复制有风险,COPY需谨慎。
热门跟贴