渗透测试之文件包含漏洞

 文件包含漏洞:服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当作PHP执行,可以给开发者节省大量的时间,从而也导致了客户端可以调用一个恶意文件,造成文件包含漏洞。

常见的文件包含函数require()、require_once()、include()、include_once()

文件包含实例

网页为include函数包含CMD参数内容

在同目录下还有一个1.php文件,内容如下(后续会包含显示的内容)

在物理机进行访问并且传参,得到页面返回,文件包含成功

除本目录还可以传参对根目录的文件进行访问(每个windows在windows文件夹中都有一个win.ini文件,在这里尝试包含此文件;linux系统中可以尝试包含/etc/passwd文件)

由于实战环境中并不清楚文件路径,使用相对路径,先退回到根目录,再对目标文件进行访问。

如果有恶意文件上传至服务器并执行(在这里直接将恶意文件放在服务器的c盘下)恶意文件内容如下,调用系统命令打开计算器

在物理机上对恶意文件进行包含,里面的php代码就会执行,服务器上的计算机被打开,正常执行

文件包含分类

文件包含分为本地文件包含和远程文件包含

本地文件包含可以包含当前服务器系统下的文件

远程文件包含可以包含其他服务器上的文件(前提条件:allow_url_include、allow_url_fopen的状态为ON)

               

  

文件包含漏洞实例

一、本地文件包含

1、在参数点是一个文件名可以尝试测试文件包含漏洞是否存在,代码审计中看到文件包含函数,可以看是否与用户交互,如果在包含函数传参的位置有交互,也是有文件包含漏洞存在的可能的。

2、找到之后,将上传的文件参数改成想要得到的对方服务器上的文件相对路径。

二、远程文件包含

1、在另一台服务器(kali)上写入一个想要包含的文件,并开启web服务

2、通过物理机包含kali服务器上的文件

可以看到执行了写在kali服务器上的1.txt文件,而文件中的函数作用在win08服务器上。

远程文件包含的危害较本地文件包含更大,但相应有前提。

伪协议

php://input伪协议:(将post输入流当作php代码执行,include开关打开)

php://filter伪协议:(此协议主要用于读取php源代码时会用到,两个开关随意)

得到的内容是经过base64加密的,经过解密后就可以得到源码

phar://伪协议:(php代码执行,两个开关均不受影响)

zip://伪协议(与phar伪协议很相似)

将php文件打包成压缩包进行上传(在只能上传压缩包的点配合文件上传利用漏洞)

data://伪协议:(php代码执行,两个开关都需要打开)

可以通过base64的加密,绕过过滤php代码的点,可以使php代码正常执行。

在本地文件包含中,只能访问到网站所在盘符上的文件,这里可以通过file伪协议实现跨盘的文件包含,从而拿下整台服务器。

文件包含的绕过

../被禁掉的时候可以用url编码实现绕过

协议被禁掉的时候可以尝试使用phar或zip伪协议实现绕过

相关推荐

  1. 渗透测试实战】什么是文件包含漏洞

    2024-02-18 10:32:01       46 阅读
  2. 渗透测试漏洞XSS漏洞

    2024-02-18 10:32:01       38 阅读
  3. Web 安全 VAPT (漏洞评估与渗透测试)详解

    2024-02-18 10:32:01       23 阅读
  4. 文件包含漏洞讲解

    2024-02-18 10:32:01       69 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 10:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 10:32:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 10:32:01       82 阅读
  4. Python语言-面向对象

    2024-02-18 10:32:01       91 阅读

热门阅读

  1. 前端主流框架:项目运行命令 npm 详解

    2024-02-18 10:32:01       54 阅读
  2. ES6中的数组解构赋值【详解】

    2024-02-18 10:32:01       56 阅读
  3. sql常用语句小结

    2024-02-18 10:32:01       46 阅读
  4. sqlserver union 和union all

    2024-02-18 10:32:01       48 阅读
  5. 算法训练营day30,贪心算法4

    2024-02-18 10:32:01       63 阅读
  6. 网络安全习题集

    2024-02-18 10:32:01       40 阅读
  7. Jedis的使用

    2024-02-18 10:32:01       52 阅读