- A+
所属分类:Seay信息安全博客
显示不全请点击全屏阅读
Author:xsjswt
互联网上常用的某种数据被恶意解析后会导致xss
详细说明:xml文件中可以包含一个xml-stylesheet标签,用于指定一个xsl文件来将xml文件格式化并输出。在xsl输出的过程中,可以输出任意html代码,包括<scrip>标签。。。。那就可以弹alert了。
不过xml格式化后的script权限较小,很多操作都不能进行。。。。不过,我想应该不影响作为钓鱼之类的用途。
要利用这个alert,就我看到的,要满足两个条件
1、 让浏览器认为这个输出是一个xml,并插入一些代码这个条件大家自己看吧
2、 在满足同源规则的条件下,制造一个能满足xsl格式的输出的页面。不管你上传一个图片也好,没过滤也好。
我觉得,针对这个东西的利用,应该基本集中于上传了。
记得之前某家互联网公司是允许用户上传自定义的xml文件用于用户空间的配置的,然后目测很多论坛应该也是允许上传xml文件的
最为性质恶劣的,是一些对输入没有过滤,直接输出,并设置了conten-type为xml的某些ajax回调接口。
下面就是弹alert的代码了,其余的大家自己想怎么利用吧
alert.xml
<?xml version=”1.0″ encoding=”iso-8859-1″?><?xml-stylesheet type=”text/xsl” href=”test.jpg”?><test></test>
test.jpg
<?xml version=”1.0″ encoding=”iso-8859-1″?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
<xsl:template match=”/”>
<html><body>
<script>alert(/hacked by xsser/);</script>
</body></html>
</xsl:template>
</xsl:stylesheet>
chrome’s alert
记得之前某家互联网公司是允许用户上传自定义的xml文件用于用户空间的配置的,现在找不到上传点了。
然后目测很多论坛应该也是允许上传xml文件的
xml文件中指定的xsl文件没有拓展名和content-type要求(ff、ie测试通过)
修复方案:
禁止用户上传xml文件
对于输入要进行输出XML操作的,过滤之
Tags:
渗透技巧,
如果您喜欢我的博客,欢迎点击图片定订阅到邮箱 也可以点击链接【订阅到鲜果】
如果我的想法或工具帮助到了你,也可微信扫下方二维码打赏本人一杯咖啡