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

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

🍀漏洞来源

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

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

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

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

在这里插入图片描述

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

🍁漏洞模板

<?php

//flag in flag.php
error_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代码上去,所以文件包含漏洞就是这个思路

🏆结束语🏆

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

请添加图片描述

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贤鱼不闲

一分钱也是爱!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值