a标签点击劫持

admin 2022年6月13日10:39:09评论39 views字数 841阅读2分48秒阅读模式

a标签点击劫持

0x00 前言

今天给大家分享一下a标签点击劫持的源码,适用于xss场景让目标无感知的主动点击某个链接或通过真实的点击触发点击事件。(浏览器会区分对待js调用和真实点击两种形式触发的点击事件)


0x01 源码和思路

var atest = document.createElement("a");atest.href="#";atest.id="atest";atest.style="position:fixed;top:0;left:0;width:100%;height:100%;opacity:0.0;cursor:default;";atest.onclick=function(){  console.log("success!");  atest.setAttribute('style', 'display:none');};document.body.appendChild(atest);

首先创建一个a标签,设置href为空(或你想让目标跳转的链接)。添加点击事件onclick,事件函数中编写想要执行的功能。最后将a标签加入到body元素中,点击劫持完成。


无感知点击劫持的重点在于style的设置:

(1)通过设置css的position,将元素定位于页面左上角,同时定位方式设置为fixed可以避免页面中其他元素的影响。

(2)将长度和宽度都设为100%,这样a标签就会覆盖满整个页面。

(3)设置opacity属性,将a标签变为完全透明,达到视觉上的隐蔽效果。

(4)最后设置cursor属性,避免鼠标指针产生变化。

如果只想让目标触发一次的话,别忘了在点击事件中将a标签的style重新设置为display:none,目标点击一次后a标签就会消失掉。


0x02 后记

a标签点击劫持
VX公众号:《小黑的安全笔记》

算是一个小轮子吧,直接拿出来是没什么用的,需要搭配在其他漏洞或方案之中才能发挥关键的作用,具体场景看各位师傅发掘了。

END.

喵,点个赞再走吧~

原文始发于微信公众号(小黑的安全笔记):a标签点击劫持

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月13日10:39:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   a标签点击劫持http://cn-sec.com/archives/1111843.html

发表评论

匿名网友 填写信息