您的位置:首页 > 其它

28. 注入篇——XML注入

2018-03-03 16:57 141 查看

XML

XML是The Extensible Markup  Language(可扩展标识语言)的简写。XML最初设计的目的是弥补HTML的不足,后来逐渐用于网络数据的转换和描述。XML的设计宗旨是传输数据,而非显示数据。
目前,XML在WEB中的应用已经非常广泛。下面举一个简单的XML实例:
<?xml version="1.0" encoding="utf-8">

<manager>

<admin id="1">

<name>admin</name>

<password>admin</password>

<admin>

<admin id=2>

<name>root</name>

<password>root</password>

</admin>

</manager>

XML注入

XML与HTML一样,也存在注入攻击,甚至在注入的方法上也非常相似。
对于上面的xml文件,如果攻击者能够掌控password字段,那么就会产生XML注入,如攻击者输入:admin </password></admin><admin id="100"><name>hack</name><password>hacker</password></admin>最终的修改后的XML为:<?xml version="1.0" encoding="utf-8">
<manager>
<admin id="1">
<name>admin</name>
<password>admin</password>
</admin>
<admin id="100">
<name>hack</name>
<password>hacker</password>
</admin>以上的代码相当于添加了一个名为hack、密码为:hacker的新的用户到管理员组内!
XML注入时的两大注意点:
(1)标签闭合(关键所在
(2)获取XML的表结构

XML注入的前提条件

(1)用户能够控制数据的输入
(2)程序有拼凑的数据

XML注入防御

(1)对用户的输入进行过滤
(2)对用户的输入进行转义

预定义字符转以后的预定义字符
<<
>>
&&
''
""
注明:部分内存参考《WEB安全深度剖析》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: