分享

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

 昵称34021412 2016-06-05

*原文:github ,鸢尾编译

链接:http://www./articles/system/105318.html


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


*还需要注意一点,我们这个方法与使用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,命令以换行符结尾的话会得到一个警告提示


●本文编号141,以后想阅读这篇文章直接输入141即可。

●输入m可以获取到文章目录。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多