百度空间 | 百度首页 
 
查看文章
 
Anehta -- hijackLink()链接劫持
2008-11-03 15:46
Anehta 0.5.6 中引入了一个新的函数

anehta.trick.hijackLink();

这个函数是来源于 Dustin D. Trammell   的一篇blog,

http://www.breakingpointsystems.com/community/blog/clickjacking-technique-using-the-mousedown-event

这也可以认为是clickjacking的一种,不过我认为叫做 hijackLink 更加合适。

原理就是 绑定 链接的 onmousedown 事件, 当鼠标点击链接时,将href 替换为新的url,从而起到了劫持的效果。

比如我在demo页面中,有这样一个链接:


即便是查看属性,也是显示的taobao.com这个链接。

但是如果我们用鼠标点开这个链接,却会跳到百度去


实际上这个过程只是调用了

anehta.trick.hijackLink(document.getElementById('ln'), "http://www.baidu.com");

就劫持了链接 "ln"了。

这个函数实现过程如下:
anehta.trick.hijackLink = function(link, url){
    if ( link.addEventListener ) {
      link.addEventListener("mousedown", function(e){link.href=url;}, false);
} else if ( link.attachEvent ) {
     link.attachEvent("onmousedown", function(e){link.href=url;});
} else {
var oldhandler = link["onmousedown"];
     if ( oldhandler ) {
        link["onmousedown"] = function(e){oldhandler(e);link.href=url;};
     } else {
        link["onmousedown"] = function(e){link.href=url;};
     }
}   
}



类别:象牙塔 | 添加到搜藏 | 浏览() | 评论 (4)
最近读者:
 
网友评论:
5
2008-11-03 20:37 | 回复
一切都是为了想将假的做的更真 很久以前记得看过这种东西
 
6
2008-11-03 21:11 | 回复
我没说这是clickjacking,是老外说的,我也觉得不妥,所以才改叫hijackLink。 status bar spoofing这个名词我还是第一次听说,我也并不认为这个名词大家已经约定熟成了,而且三个单词太长了,所以暂时不准备改这个函数名了。 谢谢你的提醒。
 
7
2008-11-04 09:05 | 回复
呵呵~顶~以后拿大风的框架好好研究下
 
8
2008-11-18 10:31 | 回复
以后点连接前,鼠标摁下多等一会儿。看有阴谋没有。。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     
 
精彩相册
   
     

©2009 Baidu