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

留言评论(旧系统):

晴天小铸 @ 2012-06-28 09:22:41

<img 标签用post 盗取cookies或者其他操作已经无鸭梨了 javascript:window.loction.href='javascript:document.body.xxx="xxxxx" 哈哈哈哈哈 祝贺你早日统治人类 我变成钢铁侠来和你pk 哈哈哈哈哈哈。。。

本站回复:

╮(╯_╰)╭

晴天小铸 @ 2012-06-28 09:29:19

=.= 小中和部分大站影响很大。。。 他们的cookies机制没木有处理好很多都是username email password等等。。。 或者直接一个session 劫持了session能访问,用CURL维持他或者用一段巧妙的javascript维持session - - apache的 http-only cookies泄露配合玩无敌了。。。。。 对于这个BUG我的想法是 当插入img标签的话,图片由网站自己保存用自己网站的链接显示出来 例子:知乎(虽然漏洞很多。但是他图片处理比百度好),soso吧也是这样的.

本站回复:

直接不允许插入外链不就完事了?而且,这是很简单的XSS,很多网站早都有能力过滤了。

晴天小铸 @ 2012-06-28 09:39:25

说得没错禁止外链是解决问题的最好方法.... 大部分重量型网站都木过滤 tencent sina baidu ....... 难道需要一个重量型 xss worm 来搞定吗。。。 @_@ 我最近在随便写个 tuchong.com 的 xss worm 你有什么打算么

本站回复:

检测一下 <img src 的字符串有那么复杂吗? 字符严格限定,管你调用什么网站,均无法利用,和 xss worm 有什么关系? <img 想处理是极其简单的,你太钻牛角尖了。

晴天小铸 @ 2012-06-28 10:02:05

@_@ 没什么 只是可以利用xss wrom而已 额 就不继续讨论了有空我研究下 恩 你忙吧 暂时88

本站回复:

连 <img 都绕不过,何谈 xss worm。

晴天小铸 @ 2012-06-28 22:51:20

核叔叔 今晚我才想到这个对ie 有用的可能是个0day在非安全中国看见过。。。。。 火狐其他浏览器基本不能跨域

本站回复:

火狐我还没测试,等会试试…… PS:你留言数量成功达到50条! 时间:2012-04-19 18:21:35 - 2012-06-28 22:51:20,ID:1355 - 1905