DVWA文件包含漏洞(file inclusion)

目录

1、low级别

1.1 本地文件包含

1.2 远程文件包含

2、medium级别

3、high级别


文件包含漏洞是在主机要执行的文件中添加包含木马的文件。

low级别和medium级别分别有远程文件包含(RFI)和本地文件包含(LFI),high级别使用了白名单,无法绕过。

1、low级别

1.1 本地文件包含

在 https://blog.csdn.net/kirito_pio/article/details/106547336 中,完成了对各个级别的文件上传,但是在执行high级别时只进行了上传,不能使用菜刀,因为图片是静态的文件,不能自己执行,需要等待请求。

图片中包含的一句话脚本如下,可以在执行时新建并写入一个php文件。

 ');?>

对low级别的代码如下,直接对资源进行访问,不设置过滤。


先根据 https://blog.csdn.net/kirito_pio/article/details/106547336 high级别进行图片的上传。

DVWA文件包含漏洞(file inclusion)_第1张图片

再切换到file inclusion,输入上传文件的网址,记得要把安全级别切换到low,high的话不会成功;如果出现各种字符,说明读取到了文件。

DVWA文件包含漏洞(file inclusion)_第2张图片

DVWA文件包含漏洞(file inclusion)_第3张图片

为了验证结果,可以去靶机下的/var/www/dvwa/vulnerabilities/fi进行查看,会发现增加了shell.php文件;最后可以通过菜刀对文件进行增删进行验证。

1.2 远程文件包含

远程文件包含是主机访问远端的一个服务器,所以要设置一个服务器,可以使用kali。

首先,保证靶机的allow_url_fopen是开启的(保证可以使用URL去包含文件),文件路径是/etc/php5/cli/php.ini

第二步,搭建服务器。我使用的是kali(ip:192.168.5.131),使用命令systemctl start apache2 开启服务,用systemctl status apache2检测状态。

DVWA文件包含漏洞(file inclusion)_第4张图片

kali存放网络文件的路径为/var/www/html,把需要访问的shell文件放在此路径下。

注意:此处的shell文件的类型不能设为.php,我用的是.txt。

第三步,进行访问。在 page= 后加入网址。

第四步,进行验证。和之前一样,使用菜刀;也可以去靶机的/var/www/dvwa/vulnerabilities/fi路径下进行查看,多了shell.php文件。

2、medium级别

对于网站的php代码,增加了对http/https协议的过滤。


因为本地文件包含不涉及http协议,所以,medium级别下本地文件包含和low级别下没有区别

远程文件包含,代码会筛选出http://和https://并删除,所以可以在之前的low级别下输入的网址进行插入。

其他操作均与low相同。

3、high级别

high级别是安全的。代码如下,指定了执行的白名单,只允许特定的文件执行。


 

你可能感兴趣的:(网安)