IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

网站安全之图片钓鱼:追捕漏网之鱼

发布时间:2016-10-28 19:26文章来源:互联网文章作者: 佚名点击次数:
以为不点开新建标签页的图片链接就安全了?别急!现在是时候和我一起追捕漏网之鱼了,让我们来看看另一种情况下的钓鱼策略源窗口打开图片钓鱼。 寻找思路 试想一下这个情景 你正在浏览某个你所信任的网站,但评论里的某张图片看不清楚。接下来你打开该图片,然

以为不点开“新建标签页”的图片链接就安全了?别急!现在是时候和我一起追捕漏网之鱼了,让我们来看看另一种情况下的钓鱼策略——源窗口打开图片钓鱼。

寻找思路

试想一下这个情景

你正在浏览某个你所信任的网站,但评论里的某张图片看不清楚。接下来你打开该图片,然而会有2种情况

新窗口打开: 上一篇文章所讨论的内容,源网站被改变成钓鱼网站。

源窗口打开: 这一篇文章要讨论的内容。你打开该图片,看完后点击浏览器上的返回按钮,继续返回浏览评论。

等等!这不就是我们可以利用的地方吗?完全可以让他点击浏览器“返回”按钮返回的那个地址不再是原来的网站地址。而是我们的钓鱼网址。

有了这个思路,那接下来,就要付出实践了。要知道,想修改浏览器的历史记录那是非常困难的(利用漏洞另说),所以只能利用已知且完全正常的方法来实现。

原理实现

HTML5给前端带来了很多丰富的特性,最重要的是现在浏览器基本都已经支持HTML5。那如果想修改历史记录肯定要去找找有关的函数

\

通过寻找,发现html5推出的2个新特性replaceState、pushState可以用来实现我们所需要的功能。至于这2个方法我这里就不在多说了,直接给图,大家自己看吧。

\

\

从手册上看,还是pushstate()比较适合我们,因为该方法每修改一次网址就会在历史记录里添加一个新的记录,那点击浏览器上的“返回上一页”,就能回到上一个地址了(未执行该命令时候的地址)!题外话,以前该方法未推出的时候,运用ajax技术的网站都面临着一个问题,网页内容无法被搜索引擎所抓取。现在有了这个特性,网站可以直接修改浏览器上的地址,但不跳转,然后用ajax技术获取网页。搜索引擎如果要抓取的话也有地址可抓,抓取时会请求该地址,然后网站再根据请求的地址返回对应的信息,可谓一举两得。想看看例子?yotube、twitter等网站就是这样做的。

实践操作

用户点击一张图片,然后源网站跳到外站图片显示。可以用上一篇文章的方法来判断是否为浏览器访问。

if(substr($_SERVER['HTTP_ACCEPT'],0,5) == "image"){

header('Location: /Article/UploadPic/2016-10/20161024141719832.png');

}else{

echo "";

echo "";

echo "blabalabala........";

echo "";

}

?>

当用户打开该图片时,第一步先用history.pushState()新建1条历史记录,然后监听这个事件,一旦发现返回按钮被触发,则开始伪造源网页。Talk is cheap. Show me the code。

var ispop;

ispop=false

window.onpopstate = function (event) {

if(ispop == false){

ispop =true;

document.body.style.background ='black';

console.log("hello");

}

}

if(ispop == false){

document.title = "This is the new page title.";

history.pushState(null,null,"hello");

}

简单的讲解一下这些代码的意思,window.onpopstate里面传入的是一个匿名函数,仅当你触发了onpopstate事件的时候才会执行(就是当你点击“返回”按钮后才会触发)。该事件内的代码主要是把网页的背景颜色改为黑色,并在控制台输出hello。
网站安全之图片钓鱼:追捕漏网之鱼
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/netsafe/Website/530194.html

标签分类:

上一篇:上一篇:网站入侵渗透测试的正确知识
下一篇: 下一篇:没有了
无觅关联推荐,快速提升流量