常见的文件包含

抄的太多了类型写转载了

原因

include、include_once、require、require_once等函数未被正确、安全地使用

特征

遇到一个网站,后面跟着file=文件名filename=文件名的情况,多半是文件包含

分类

直接粗暴的文件包含

  • 想办法找到flag所在的文件,可以先试试phpinfo.php之类的文件能不能显示,能的话多半是啥过滤都没加

本地文件包含

  • 本地应该是针对于服务器来说的,flag就藏在本来就在服务器上的文件中
  • 这种题目的flag会藏在php文件当中,但是因为文件包含在执行文件内容时是不会输出echo、print等函数以外的部分的,因此需要通过php的伪协议来读取文件全部内容,如:index.php?file=php://filter/convert.base64-encode/resource=index.php,就可以将index.php文件的内容以base64形式输出
  • 例题:CGCTF的文件包含题目

远程文件包含

  • 当php的一些权限没有配置好,就可以自己上传一些一句话木马等尝试获取webshell,详见下面的部分

和其他方法联系起来进行攻击

和伪协议联系

文件包含可以和以下的伪协议联系起来进行利用:

1、php://filter

有一些敏感信息会保存在php文件中,如果我们直接利用文件包含去打开一个php文件,php代码是不会显示在页面上的,例如打开data目录下的config.php:

在这里插入图片描述

这时候我们可以以base64编码的方式读取指定文件的源码:

输入:php://filter/convert.base64-encode/resource=文件路径

得到config.php加密后的源码:

在这里插入图片描述

再进行base64解码,获取到数据库账号等敏感信息:

在这里插入图片描述

2、data://

利用data:// 伪协议可以直接达到执行php代码的效果,例如执行phpinfo()函数:

在这里插入图片描述
如果此处对特殊字符进行了过滤,我们还可以通过base64编码后再输入:

在这里插入图片描述

3、zip:// 执行压缩文件

如果网站允许我们上传压缩文件,我们也可以将php文件压缩后进行上传,再通过zip://协议执行。

以DVWA平台为例,我们将phpinfo.php文件进行压缩后上传:

在这里插入图片描述

通过zip://协议执行zip压缩包中的phpinfo.php文件:

在这里插入图片描述

4、php://input

利用该方法,我们可以直接写入php文件,输入file=php://input,然后使用burp抓包,写入php代码:

在这里插入图片描述

发送报文,可以看到本地生成了一句话木马:

在这里插入图片描述

5、伪协议利用条件

伪协议的利用方法还有很多,这里就不一一举例了。

伪协议的用法小结:

在这里插入图片描述

和绕过字符过滤的方法联系

https://blog.csdn.net/Vansnc/article/details/82528395

sorry但是不想写了

参考

别人的总结
别人的总结2

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值