九、文件包含-Low

Ant大约 2 分钟

九、文件包含-Low

一、漏洞原理

web前端通过GET和POST两种方式向服务器传递参数,文件包含漏洞靶场使用的是GET方式,GET方式的特点是将参数以明文的方式拼接到访问链接中,我们可以通过手动修改链接中的参数值向服务器发送请求数据,如果服务器对GET方式传输的数据没有进行限制的话,攻击者就会通过修改GET参数的方式与服务器进行交互,达到攻击目的。

二、漏洞利用

对文件包含漏洞复现前需要在服务器上开启php的allow_url_include功能,然后通过修改GET参数的方式进行攻击。

1.在服务器上打开小皮面板,查看当前php使用的版本。

查看当前php版本
查看当前php版本

2.在配置文件中找到php.ini选项,选中当前php版本,打开配置文件。

打开php.ini配置文件
打开php.ini配置文件

3.在php.ini文件中查找到allow_url_include,将其值改成On,打开allow_url_include功能,然后重启web服务。

修改php.ini参数
修改php.ini参数

4.访问文件包含页面,点击file1.php,可以观察到链接中使用page参数传递文件名称,以此访问相应文件的页面。

访问file1.php
访问file1.php
get参数
get参数

5.服务器本地文件包含(一)

尝试按照给出的文件名称格式修改参数值,发现文件file4.php在前端页面上没有给出链接,但是通过修改链接参数值可以访问到file4.php文件的内容,导致file4.php文件内容泄漏。(通过修改page参数值的方式还可以查看服务器上其他文件的内容。)

修改get参数
修改get参数

6.服务器本地文件包含(二)

通过触发网站报错的方式获取服务器绝对路径,修改绝对路径读取敏感文件(或者使用../形式切换逻辑路径)。

获取服务器绝对路径
获取服务器绝对路径
访问php配置文件
访问php配置文件

7.远程文件包含

文件包含功能还可以通过http、https协议读取远程服务器上的文件,DVWA支持php运行环境,默认将读取的文件内容按照php文件运行,如果不能运行则直接输出文件内容。

这里我们在远程服务器上编辑一段php一句话木马,保存成.txt文件(不要命名成.php格式,因为这样文件会被远程服务器直接执行),利用文件包含漏洞让DVWA服务器读取txt文件,DVWA服务器会使用php运行环境执行txt中的代码。

远程包含一句话木马文件
远程包含一句话木马文件
中国蚁剑链接dvwa服务器
中国蚁剑链接dvwa服务器
Loading...