文件包含漏洞-phar伪协议

漏洞介绍
文件包含:程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无需再次编写,这种调用文件的过程被称为文件包含。
然而,开发者没有对要包含的文件进行安全检测,这就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。
以一个靶场为例
当进入目标网页,发现是一个白屏

image

此时按F12,查看网页代码,发现代码中有相关的提示

image

我们可以按照提示,继续查看,在url中输入include.php,得到进一步提示

image
image

此时我们按照提示同样的在url中输入upload.php,得到这样的上传页面

image

至此我们知道了,这是文件上传+文件包含的组合。(ps:要想或者网页的目录可以直接用御剑或者dirserch进行扫描)
此网页使用的是php://filter协议,接下来使用伪协议来查看源码,来帮助我们进行文件的上传绕过
php://filter/convert.base64-encode/resource=

image

从下的乱码进行base64解码,得到include.php的源码,同理,我们可以得到upload.php的源码(ps:不能加后缀 .php 会出错)

image
image

进行解码和代码审计得知,文件上传的范围是"gif", "jpeg", "jpg", "png"
接下来便进行木马的上传工作了
准备一个一句话木马,将木马文件进行压缩,修改压缩文件的后缀名,符合文件上传的范围即可。

image

然后进行文件上传,上传成功后会给出文件的存在路径

image

最后,让我们用phar://协议进行文件的读取

image

然后用蚁剑进行连接即可
连接链接
http://home.edu.ltsec.com:51927/include.php?file=phar://upload/1.png/1

posted @ 2025-08-26 17:55  咬人的萝卜  阅读(27)  评论(0)    收藏  举报