0


【网络安全篇】php文件包含漏洞

🏆今日学习目标:
🍀学习php文件包含漏洞
✅创作者:贤鱼
⏰预计时间:35分钟
🎉个人主页:贤鱼的个人主页
🔥专栏系列:网络安全
🍁贤鱼的个人社区,欢迎你的加入 贤鱼摆烂团
🍁如果有需要可以查看下面文章
25分钟了解php?php基础
【网络安全篇】php伪协议-漏洞及其原理会用到
请添加图片描述

php文件包含漏洞

🍀漏洞来源

在之前的php伪协议中我们介绍过include函数的作用,有需要可以在上面链接查找

找找include,看看包含的函数能不能被利用

如果包含的函数我们可以控制,那么就有文件包含漏洞

重申一下,include()会将包含的文件名下的内容,如果有php代码,会执行,木有就直接输出

在这里插入图片描述

如图,1.php中是一个include函数包含flag.php
在这里插入图片描述
代码部分运行,其余部分输出

🍁漏洞模板

<?php//flag in flag.phperror_reporting(0);if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/flag/i",$c)){include($c);echo$flag;}}else{highlight_file(__FILE__);}

典型吧

这个告诉我们了,flag在flag.php里,所以我们读取就可以了
例题下面具体细讲

🍁漏洞原理

文件包含结合php伪代码,做到读取flag的目的(这个漏洞可以读取任意文件)

🍀 漏洞利用

🍁本地包含

比如文件上传漏洞类型的题目
我们可以上传包含一个php代码的文本/图片,最后包含我们上传内容的路径,也会执行

这个部分在后序的文件上传漏洞会细讲,有兴趣的可以关注一下

🍁远程包含

需要配置文件(php.ini)中的配置项 allow_url_fopen 和 allow_url_include 为 On

依旧是上传一个图片,然后保存图片的路径,包含图片路径即可

🍀结合php伪协议

今天我们细讲这一部分

这里需要回顾一下php伪协议,如果有不懂一定要去翻看以往文章,不然下面内容可能会看不懂

🍁结合php://filter

这个的作用是将读入的内容进行编解码

在这里插入图片描述
还是他,眼熟不?
我们如何利用php://filter来获得flag呢?
在这里插入图片描述
在这里插入图片描述
我们最后将system中的内容改成cat flag就可以了

🍁结合php://input

这个可以让我们在http请求体中写php代码

还是上面的题目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🍁结合data://

这个可以让我们直接写入代码,或者经过base64编码后写代码(绕过过滤)

在这里插入图片描述
这里后面base64编码的内容是
<?php system("cat flag.php");?>

在这里插入图片描述
也可以执行成功

可能有人说:啊贤鱼这些都是同一个题,有木有不同的?

在这里插入图片描述

看到没看到没!php过滤掉了,用不得了,咋办?

在这里插入图片描述

这不就有了?
在这里插入图片描述

🍀总结

可以发现,无论什么题目,都是想方设法搞一坨php代码上去,所以文件包含漏洞就是这个思路

🏆结束语🏆

这一部分其实有很多都是在伪协议中介绍过,我们在这里做个补充,其实文件包含漏洞还有很多,比如上传文件和包含日志,这些会在文件上传漏洞之再次介绍

请添加图片描述

标签: php web安全 安全

本文转载自: https://blog.csdn.net/m0_66623111/article/details/127259057
版权归原作者 贤鱼不闲 所有, 如有侵权,请联系我们删除。

“【网络安全篇】php文件包含漏洞”的评论:

还没有评论