freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

警惕JavaScript代码复制陷阱
2022-03-26 08:27:10
所属地 山西省

程序员们在日常的编程工作中,难免会在网上查找资料、复制一些现成代码使用。这是很习惯性的操作,但有危险隐含其中,需要提高警惕。

e1ca0e0dd8e441b1a03bc3b765c30e19.png

比如,看看下面的操作是不是很神奇:

6a957003560e42dcb398bb343da3e7e7.gif

如上所示,复制了一行JS代码,但粘贴后出现了额外的代码!

04581643fc6847a9acef9fedf3cf7c14.png

如果额外的这段代码是恶意的、甚至是木马、后门。而如果直接复制使用了,那么,后果很严重。可能有人说:复制时就能看到代码,有没有风险一看便知。道理似乎没错,但如果复制的代码量大呢?如果代码经过加密处理了呢?因此,在网上复制代码,一定要小心谨慎。

再来说这种复制陷阱的原理

如上图所示操作,实现的原理是:接管页面的oncopy事件,在事件中,对复制内容进行修改。

源码如下:

f434a14830a143499fc7522c1fcc0fa3.png

保存为html,打开即可测试其效果。从代码中可以看到,核心操作只有区区几行,如果查看源码即可知道原理。但如果图中的JS代码经过加密呢?比如用JShaman对框选的代码加密,会成为:

30fdff2049f6465eac6c04e32175b189.png

这样,便很难看出代码的含义,即使有危险的操作,也不易被查询。

# javascript # 复制代码
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者