XML内容注入

一、介绍
XML注入主要分为内容注入和实体注入。
内容注入分为XML数据注入、样式表注入、XPATH/XQuery注入。

二、前提条件:有入口用户可修改XML

三、初步测试步骤
(1)检查系统设计文档/代码飞检/访谈,检查服务器文件,收集出所有的XML存储文件
(2)检查所有XML存储文件的外部输入位置(如web页面输入或修改参数值的位置),通过burpsuit绕过客户端校验,使提交的参数值包含<>/’=""之类的特殊字符
(3)检查后台XML存储文件是否直接存储了步骤2中的异常输入内容

四、注入方式
1、XML数据注入:
a)、假设如下图的XML被用于从客户端提交到Web服务端。price的值不可控,quantity和address项的值可控,即可以由用户自由输入。

10 25.00
beijing
b)、在quantity的值中构造""

2、样式表注入
a)、除了注入数据到XML之外,作为XML注入的结果,使代码运行也是可能的。在XML文件中允许使用样式表,这种样式表能够把已有的XML数据转换成新的XML数据,这种新的XML文档通常以HTML的方式在Web浏览器中展现。
假设XML引用了一个超链接:Attacker Text,Attacker Text是用户可控,服务端利用XSLT语言将上述XML转换为如下的HTML,并传送给Web浏览器:Attacker Text
b)、将Attacker Text改为""#"" οnclick="“alert(1)”" />

你可能感兴趣的:(安全)