XML\XXE漏洞基本原理

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

本文整理XXE漏洞的相应信息

XML与XXE漏洞

这个东西有许多叫法,XML漏洞与XXE漏洞差不多都是一个东西。

这个漏洞是出现在XMl上的,然后可以叫他XXE注入漏洞。

XML简介

XML是一种数据的传输形式。

就是前端给后端,后端给前端传参数用的

通常我们post提交数据是这样的。

user=111&pass=222

还有一种是现在常用的json

{"login":[

{"user":"111","pass":"222"},

]}

然后就是我们的XML

XML 复制代码
<login id="1">
    <user>111</user>
    <pass>222</pass>
</login>

跟html有点类似,就是数据包里传给后端,然后后端从里面解析数据的一种方式。

漏洞产生原因

由于后端接收XML之后会进行解析,如果我们在XML中插入恶意代码的话,那么后端就会执行恶意代码被攻击。

判断是否采用xml传输

content-type判断

数据包中的content-type会标识传输的类型。

这里是json的(现在绝大多数网站都是json)。

如果对方是XML格式的话这里就是XML了。

数据类型判断

直接看传递的数据。

如果是上面XML那个样子的格式,那就是XML的。

基本攻击手法

就是利用XXE可以解析的特点执行恶意代码。

最主要的攻击手法是文件读取

XML 复制代码
<?xml version="1.0"?>
<!DOCTYPE xiaodi [
<!ENTITY test SYSTEM  "file:///d:/1.txt">
]>
<user><username>&test;</username><password>xiaodi</password></user>

案例演示

剩下的绕过思路与特殊玩法以及靶场攻略在别的博客中

别着急。。一个个写。。在写了在写了。。。到时候链接放过来。

特殊玩法与绕过思路

ctfshowXXE靶场全攻略

相关推荐
乌夷3 天前
在pom.xml中通过repositories在Maven构建过程中访问setting.xml之外的仓库
xml·java·maven
振宇i3 天前
Mybatis xml动态SQL 判断失效问题
xml·sql·mybatis
程序员老王wd6 天前
java xml 文本解析
xml·java
小百菜7 天前
dom4j解析含有命名空间的XML
xml·dom4j
黎明晓月7 天前
MyBatis XML一个方法执行插入或更新操做(PostgreSQL)
xml·postgresql·mybatis
GoKu~7 天前
项目配置文件选择(Json,xml,Yaml, INI)
xml·json
枫叶落雨2227 天前
mybatis-plus: mapper-locations: “classpath*:/mapper/**/*.xml“配置!!!解释
xml·java·mybatis
double丶flower7 天前
mybatis在mapper.xml中怎么处理大于、小于、不等于号
xml·java·mybatis
一只爱打拳的程序猿7 天前
pom.xml和spring-config.xml
xml·java·spring
tonysh_zds7 天前
freemarker 读取template.xml ,通过response 输出文件,解决中文乱码问题
xml·java·开发语言