来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 互联网上常用的某种数据被恶意解析后会导致xss详细说明:xml文件中可以包含一个xml-stylesheet标签,用于指定一个xsl文件来将xml文件格式化并输出。在xsl输出的过程中,可以输出任意ht...
互联网上常用的某种数据被恶意解析后会导致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操作的,过滤之
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com