网络安全系列之三十 远程文件包含攻击

远程文件包含攻击Remote File Include,它也属于是“代码注入”的一种,其原理就是注入一段用户能控制的脚本或代码,并让服务端执行。

文件包含漏洞可能出现在JSP、PHP、ASP等语言中,原理都是一样的,本文只介绍PHP文件包含漏洞。

本次实验需要使用2台Web服务器,实验环境如下:

Web1,IP地址192.168.80.129,利用NPMserv搭建php网站。

Web2,IP地址192.168.80.128,利用小旋风搭建ASP网站。

首先我们编写下图所示的一个带有文件包含漏洞的php文件:

wKioL1RdxV2CWhO7AADOJRgo04k865.jpg 

要想成功利用文件包含漏洞进行攻击,需要满足以下两个条件:

  • Web应采用include()等文件包含函数通过动态变量的方式引入需要包含的文件

  • 用户能够控制该动态变量

然后将文件放置到web1的PHP网站中,同时再在网站主目录中创建一个名为test.txt的文件,文件内容如下:

wKiom1RdxQiDWqj1AABtS1OL1f8821.jpg 

下面在客户端访问web1网站,利用文件包含漏洞,通过test.php来打开test.txt。

wKiom1RdxRvwk4qpAABqcoLfuzQ192.jpg 

通过文件包含漏洞,不仅可以查看漏洞网站上的敏感文件,而且还可以运行远程服务器上的文件。比如我们在另一台服务器Web2上也创建一个名为rfi.txt的文件:

wKioL1RdxZewTIFJAAB2GPV14t8359.jpg 

然后继续在客户端访问web1网站,利用文件包含漏洞,通过test.php来打开web2上的rfi.txt。

wKiom1RdxTvz5V8GAACNPGydN00435.jpg 

如果我们在web2上创建一个rfi.php文件,那么同样可以让它在web1上执行:

wKioL1RdxavyXr1KAABfjsAxyic118.jpg 

wKiom1RdxU7DvYlzAACvnp-VNDk174.jpg 

因而,如果黑客能够精心构造一些代码,那么远程文件包含攻击的威力还是比较强大的。

本文出自 “一壶浊酒” 博客,转载请与作者联系!

你可能感兴趣的:(漏洞,RFI,文件包含)