找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1280|回复: 0

百度空间跨站攻击详解

[复制链接]

14

主题

71

回帖

107

牛毛

一级牛人

狼知道如何用最小的代价,换回最 ...

积分
107
QQ
发表于 2007-12-24 18:27:12 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1.首先这是个Apache的老漏洞,Apache在接收Expect这个HTTP报头会直接输出报头的错误信息,错误信息的内容并没有被转义。

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

  那么针对百度测试一下发起一个POST请求,
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: Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50***27)
Host: hi.baidu.com
Content-Length: 7
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: BAIDUID=875AE724A06D77C70D79C96D1CEB6C81

xss

  结果返回了如下内容


Expectation Failed
The expectation given in the Expect request-header field could not be met by this server.
The client sent

Expect: Accept-Encoding: gzip, deflate
but we only allow the 100-continue expectation.

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

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

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

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

   Expect: 远程链接一个脚本也不会被执行,所以我们只能用类似的方法在网页加载时就运行脚本。

  然后最主要的是浏览器的编码问题,当发起这个请求后返回的页面大部分是UNICODE编码,也就是你想写入的JAVASCRIPT不能包含中文,这里LUOLUO哥教了我一个小技巧指定脚本标记中的编码
突破了这两个问题就能直接实现我们的攻击。

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

http://raystyle.googlepages.com/baidu.html
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-10 22:52 , Processed in 0.120950 second(s), 29 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表