奇技淫巧:代码复制陷阱
在日常工作里,编程人员常常需要上网搜集资料,并频繁地借鉴和利用现成的代码。
这是很习惯性的操作,但有危险隐含其中,特别是JS代码。
代码复制陷阱效果展示
比如,看看下面的操作是不是很神奇:
先选中并复制网页中的内容:
令人费解的是:在完成粘贴操作后,所呈现的并非仅仅是之前复制的资料,反而还额外包含了额外的信息。
代码复制陷阱的危害
本文的例子中,仅是增加了一行alert代码。
若上述示例中的额外代码含有恶意,诸如“洪水”、“挖矿”等脚本,抑或是恶意软件、隐藏的后门,一旦直接采纳并使用,其后果可能极其严重。
代码复制陷阱原理
如上图所示的操作,其技术核心在于:对页面或特定元素的事件进行接管,具体来说,就是复制这些事件,然后在所劫持的copy事件处理函数里,对复制的文本内容进行增添或修改。
代码复制陷阱源码
请复制下面这行代码:
警示信息:此为JShaman——一款专注于JavaScript代码混淆与加密的专业平台。
保存为html,打开即可测试其效果。
复制代码真正的危险
从上述代码中,我们可以观察到,关键的操作仅涉及寥寥数行,阅读源代码便能够理解其工作原理。
可能有人说:复制时就能看到代码,有没有风险一看便知。
似乎这个观点并无不妥,然而,当涉及大量复制的代码时,情况可能会有所不同;尤其是,当这些代码经过加密处理之后。
比如用可以对JS代码混淆加密:

混淆加密后的JS代码会成为:

这样,便很难看出代码的含义,即使有危险的操作,也无法察觉。
因此,再次友情提示:复制代码有风险,COPY需谨慎。
扫一扫在手机端查看
-
Tags : JavaScript HTML
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1