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靶场全攻略

相关推荐
小鸡吃米…6 小时前
Python - XML 处理
xml·开发语言·python·开源
老歌老听老掉牙12 小时前
Vericut 5轴机床MCH文件解析与构建指南
xml·python·vericut
ii_best16 小时前
「安卓开发辅助工具按键精灵」xml全分辨率插件jsd插件脚本教程
android·xml·开发语言·编辑器·安卓
总会落叶16 小时前
MyBatis XML映射配置与日志系统全解析
xml·tomcat·mybatis
drebander16 小时前
macOS 下优雅管理 Maven:多版本切换 + settings.xml 自动切换(zsh-only 实战)
xml·maven
好学且牛逼的马2 天前
原生 JDBC + DbUtils + MyBatis 同场景 Demo(C3P0 数据源 XML 配置版)
xml·mybatis
代码栈上的思考2 天前
MyBatis XML的方式来实现
xml·java·mybatis
Mr.Pascal2 天前
深度解读一下 springcloud 的 pom.xml 用到的标签
xml·spring boot·spring cloud
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 天前
日志打印配置:logback-spring.xml配置;info和error完全区分了,并且按时间拆分了
xml·spring·logback
Android技术之家3 天前
实测:Jetpack Compose 替代 XML 布局,3 步实现高性能界面迁移
xml