首页 > 其他分享 >XXE漏洞与有回显的XXE

XXE漏洞与有回显的XXE

时间:2023-11-09 09:57:18浏览次数:33  
标签:XML 回显 外部 DTD 漏洞 XXE 声明

XXE漏洞与有回显的XXE

XXE:XML外部实体注入(xml external entity ),可造成文件读取,命令执行等攻击

HTML侧重页面外观,XML侧重数据与存储

XML没有预定义标签,可以自定义,通常用DTD(文档类型定义)规范XML的格式

定义DTD的方式:

  • 内部DOCTYPE声明
  • 外部文档声明(重点)

内部声明不能读文件,外部声明可以

外部文档声明

当DTD位于XML源文件的外部,则通过以下语法将其封装声明在DOCTYPE

<!DOCTYPE root-element SYSTEM "filename">

我们将这个外部的DTD文件命名为note.dtd:

<!-- 定义note有四个元素to,from,heading,body,都为类型PCDATA类型 -->
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<!-- PCDATA:被解析的字符数据,可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本 -->

此时若是想在XML文件中声明该DTD约束,应声明为:

<!--xml声明/文档定义-->
<?xml version="1.0" encoding="utf-8" ?>

<!-- 外部引入 dtd 文件,引号里必须是文件 -->
<!DOCTYPE note SYSTEM "note.dtd">

<!--文档元素-->
<note>
    <to>XXE</to>
    <from>LEARING</from>
    <heading>hello</heading>
    <body>My_friend</body>
</note>
使用场景:一般在填写表单、注册账号等有数据交互的地方
如何判断存不存在有回显的XXE?

提交数据的时候抓包,看看上传文件类型是不是XML类型,或者能不能改成XML类型

改成xml类型

抓包之后在下方任意构造标签(因为XML没有固定标签所以只要闭合什么都行)

比如这里构造了个gg,放包

pikachu靶场得到回显,这时候肯定存在有回显XXE漏洞

构造payload

<?xml version="1.0" ?>
<!DOCTYPE ANY [
<!ENTITY shell SYSTEM "file:///C://Windows//win.ini">
]>
<x>&shell;</x>

file:/// Windows固定的协议,就这么用

file:///C://Windows//win.ini需要在服务器上实际存在

也可以是http://192.168.1.1/1.txt

&实体名; 引用的实体

标签:XML,回显,外部,DTD,漏洞,XXE,声明
From: https://www.cnblogs.com/Iwakura-Lain/p/17819031.html

相关文章

  • Java Fastjson反序列化漏洞研究
    一、Fastjson简介Fastjson是阿里巴巴的一个开源项目,在GitHub上开源,使用Apache2.0协议。它是一个支持JavaObject和JSON字符串互相转换的Java库。Fastjson最大的特点在于它的快速,它超越了JackJson、Gson等库。据官方发布的说明,Fastjson从2011年fastjson发布1.1.x版本之后,其性能......
  • vue2+antd 使用select 通过v-model 无法回显也不能修改?
    <template><a-tablesize="middle":data-source="dataList":pagination="false":locale="{emptyText:'暂无数据'}":scroll="{x:'max-content'}"><a-table-columntitle=......
  • 【安全测评/等保要求】金蝶V9/V10 “Apusic应用服务器未授权目录遍历” server_file
    最近网安不定时扫描,我们服务器的金蝶AAS中间件V9版本,被扫出了“Apusic应用服务器未授权目录遍历”server_file漏洞,我们先来回顾一下出现的问题: 漏洞页面https://www.xxx.com:1234/sso/..;/admin/protected/selector/server_file/files?folder=/etc/测试过程发现金......
  • XMLDecoder反序列化漏洞研究
    一、XMLDecoder简介java.beans.XMLDecoder是jdk自带的以SAX方式解析XML的类,主要功能是实现java对象和xml文件之间的转化:序列化:将java对象转换成xml文件反序列化:把特定格式的xml文件转换成java对象下面是一个简单地demo样例,Person.javapackageorg.example;publiccla......
  • php开发中常见的漏洞点(一) 基础sql注入
    前言本系列为小迪2022的学习笔记,仅用于自我记录。正文在一般情况下,一个网站的首页大致如下在上方存在着各种各样的导航标签、链接。而一般情况下网站的导航会用参数进行索引的编写,比如id、page等等比如上面的链接格式,当用户访问不同页面时id参数值也会跟着变化,比如我让id=2......
  • Jackson反序列化漏洞研究
    一、Jackson序列化库使用简介0x1:Jackson背景Jackson是一个强大而高效的Java库,处理Java对象及其JSON表示的序列化和反序列化。它是这项任务中使用最广泛的库之一,并在许多其他框架中作为默认的Json引擎使用。例如,虽然Spring框架支持各种序列化/反序列化库,但Jackson是默认引擎。Ja......
  • Antd Form 表单数据没法回显问题
    AntdForm表单数据没法回显问题antd环境4.*版本问题复现在一个组件中,给这个组件传递一个配置项,展示一些表单组件如输入框、下拉框等组件,再传递一个数据,让其数据回显在我们的表单组件中//就正常一个表单,里面通过循环配置项展示formitem里的内容,我们可以在formitem中设......
  • 【漏洞复现】瑞友天翼应用虚拟化系统RCE漏洞
    免责申明本公众号的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文......
  • XStream反序列化漏洞原理分析
    一、XStream简介0x1:XStream介绍Xstream是一种OXMapping技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列化,使用非常方便。使用方便-XStream......
  • vue select-option组件 普通下拉和远程下拉数据展示及回显
    前言:后台返回的数据格式有如下两种类型:1、json格式:codeTypeMap:{  "000":"身份证",  "001":"户口本"}2、数组格式:codeTypeMapList:[  {code:"000",name:"身份证"},  {code:"000",name:"户口本"}] 一、普......