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)对用户的输入进行转义
预定义字符 | 转以后的预定义字符 |
< | < |
> | > |
& | & |
' | ' |
" | " |
相关文章推荐
- PHP基础----PHP 与 MySQL----28用户数据添加与防 SQL 注入攻击
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结
- sqlmap注入Access实例
- Android Dagger依赖注入框架浅析
- opencv(28)---GrabCut & FloodFill图像分割
- 本小小群主诚邀一个妹子加入本群(群很小28人)
- Spring依赖注入方式_属性setter方法注入_构造器注入_注解注入
- Spring容器启动后注入service到Servlet并自动执行
- Angular服务注入
- 28、几何算法-线段相交、凸包、球面弧长
- Spring对字段和集合的注入---依赖注入
- (28)SpringBoot启动时的Banner设置【从零开始学Spring Boot】
- mysql手工注入
- Spring (二)依赖注入原理 , bean 作用域, 其他配置
- sql 注入 网络攻击技术开篇
- Web攻防系列教程之 Cookie注入攻防实战
- 【Android实测】WebView的JS注入
- SQL入侵注入的完全总结详解(网上搜集的,)