前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >剪贴板劫持:复制粘贴中暗藏杀机

剪贴板劫持:复制粘贴中暗藏杀机

作者头像
FB客服
发布2018-02-08 11:23:52
2.1K0
发布2018-02-08 11:23:52
举报
文章被收录于专栏:FreeBufFreeBuf

现在浏览器大多只允许开发者在一定条件下向用户剪贴板中添加内容。换句话说,剪贴板劫持只能是在浏览器事件中才能够触发。本文将详细的向各位讲述“剪贴板劫持”攻击如何诱骗用户运行恶意代码。

*还需要注意一点,我们这个方法与使用html/css来实现类似的攻击完全不同。

剪贴板劫持Demo

Demo1是一个用来欺骗用户复制,看着完全“无公害”代码的Demo。如果用户尝试使用键盘快捷键(例如ctrl+c或者command+c)复制文本内容,就会触发一个800毫秒的计时器,之后恶意代码就会覆盖掉用户剪贴板中的内容。

echo "not evil"

将会被替换为

echo "evil"\n

注意被添加到行尾的换行符,正常情况下当用户将echo命令粘贴到终端"evil"便自动显示在了屏幕,在执行之前用户是没有机会检测命令的。当然你还可以使用更复杂的payload,就比如Demo3。

touch ~/.evil clear echo "not evil"

该命令将会在你的home目录下创建一个恶意文件,并清除终端显示记录,最后才执行受害者本意想复制的命令,在这里那个命令就是echo 'not evil'咯

攻击影响

该方法可以结合钓鱼攻击诱骗用户执行看起来十分合理的命令,恶意代码会替换掉那些看来十分合理的代码,如果用户在终端中粘贴,攻击者便可以在受害者主机上进行远程代码执行。

如何保护自己?

如何保护自己这还真不是一件简单事情,其中一个解决方案便是在粘贴到终端之前先验证内容。注意了,这里验证的地方也是有讲究的,如果你粘贴到vim中去验证,反而vim的宏可能会欺骗你。不信那就试试Demo2

copyTextToClipboard('echo "evil"\n \x1b:!cat /etc/passwd\n');

demo2中直接粘贴在终端中便是执行echo evil,如果粘贴到vim中则是执行cat /etc/passwd命令。另一个解决方案如下:

"+p -- within vim to paste clipboard without interpreting as vim command

如果你运行 iTerm,命令以换行符结尾的话会得到一个警告提示

*原文链接:github ,鸢尾编译,转自须注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 剪贴板劫持Demo
  • 攻击影响
  • 如何保护自己?
    • *原文链接:github ,鸢尾编译,转自须注明来自FreeBuf黑客与极客(FreeBuf.COM)
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档