src, href 等 url 类属性的妙用

来源:互联网 发布:云计算技术及应用专业 编辑:程序博客网 时间:2024/06/05 21:06

摘要:src, href等url类属性拥有一个神奇的隐藏功能,就是可以直接修改页面的html。 先举个小例子,在当前页面执行如下代码: javascript: window.location.href = 'javascript: !--我是新页面的HTML--;'; void(0); 你会发现页面被清空了,而且页面源代码居然为空

更多

src, href等url类属性拥有一个神奇的隐藏功能,就是可以直接修改页面的html。

先举个小例子,在当前页面执行如下代码:

javascript: window.location.href = 'javascript: "<!--我是新页面的HTML-->";'; void(0);

你会发现页面被清空了,而且页面源代码居然为空!然而事实上当且页面的html确实是 "<!--我是新页面的HTML-->",不信的话可以设这修改这段html,比如改成一个alert函数:

javascript: window.location.href = 'javascript: "<script>alert(123)</script>";'; void(0);

看下结果:

注意上面的<about:blank>,我明明是在当前页面执行的脚本,但域名却显示 <about:blank>, 这是一个十分令人激动的事情!

<about:blank>意味着什么?如果你不知道的话只能说你是一个好人。。

<about:blank>意味着在当前页面发出的请求不会包含referer信息!

什么是referer?简单点说,我点击a.html的某个链接到达b.html,此时a.html的url就是b.html的referer。

那么referer有什么用呢?防盗链!很多网站都对站内资源设置了防盗链,比如百度图片,他会检测referer是否在baidu.com域名下。但同时百度图片是允许空白referer的。

<about:blank>就意味着我们可以破解这种允许空白referer的防盗链手段!

以此图片为例,采用iframe去除referer

http://itianda.com/html/206/

<!DOCTYPE HTML><html><body><script type="text/javascript">window.iHtml = '<img src="http://imgsrc.baidu.com/forum/pic/item/810a19d8bc3eb135e90a5607a61ea8d3fc1f44b9.jpg"/>';</script><iframe src="javascript: parent.window.iHtml;"></iframe></body></html>

其实这个不是什么新东西,网上好久之前就有 http://hi.baidu.com/yanfei_nn/blog/item/bb8ef1889e656af1f01f36cc.html 或者百度一下好多代码的

不过有意思的是就连ie6都支持这中盗链的办法

做几个补充:

浏览器不发送referer的情况(可能总结的不全):

1.https

2.隐私模式或者禁用了referer

3.在地址栏手动输入目标链接

其他常见的盗链手段:thunder://....之类的迅雷、快车旋风链接(下载软件一般不会发送referer)


摘自:http://tieba.baidu.com/p/1583718448

(责任编辑:网络) 本文章原创来自:http://www.hack6.com QQ:283422135 (转载请保留黑客网站版权。侵权必究)
原创粉丝点击