文件上传靶场实战:upload-labs第1-3关

0、环境准备

0.1、安装靶场

由于自己的电脑是win10系统,上传一句话木马被系统自动拦截删除,文件上传的靶场安装在win7虚拟机。把upload-labs安装包复制到老版小皮的C:\phpstudy\PHPTutorial\WWW\目录下解压,然后启用小皮,启用服务Apache,在运行模板边上切换版本选择【php版本】5.2.17。(说明:为什么选择老版本的小皮,是由于我实验的文件上传靶场很多功能要实验通过,有版本要求,在新版本的小皮无法验证对应功能点。老版本的小皮在win7虚拟机有自带)

文件上传靶场实战:upload-labs第1-3关_第1张图片

老版小皮在桌面的图标是这个文件上传靶场实战:upload-labs第1-3关_第2张图片

0.2、一句话木马

一句话木马文件命名onehack.php,在后面实验过程中都是同一个,源码内容如下

# 可连接服务端的
<?php
	@eval($_POST['自定义密码'])
?>

打印服务器相关信息的,命名info.php

 phpinfo();?>

1、Pass-01

1.0、攻击思路

先按符合条件上传,上传前按F12,选择Network看请求URL,然后再按上传一句话木马的文件onehack.php,看是否请求,如果没有请求只是弹窗提示,那么先绕过前端的JS验证,再上传onehack.php看是否成功。

1.1、文件上传验证

正常上传一个图片,在网络看到请求URL是http://127.0.0.1/upload-labs/Pass-01/index.php

文件上传靶场实战:upload-labs第1-3关_第3张图片

上传一句话木马,发现网络请求并没有变化,界面弹窗提示信息,因此可确定是属于前端JS验证。

文件上传靶场实战:upload-labs第1-3关_第4张图片

1.2、木马上传

从上面的步骤初步确定是前端JS验证,也得知文件上传请求的URL,可以copy网页源码下来,去掉form里面的onsubmit="return checkFile()",需要自己手动添加action,然后把文件上传请求的URL放到form的action。然后访问该html文件pass01.html,选择onehack.php上传,发现上传成功了。
文件上传靶场实战:upload-labs第1-3关_第5张图片
文件上传靶场实战:upload-labs第1-3关_第6张图片
文件上传靶场实战:upload-labs第1-3关_第7张图片

上传成功后会自己跳转到文件上传页面,如下
文件上传靶场实战:upload-labs第1-3关_第8张图片

获取得到地址http://127.0.0.1/upload-labs/upload/onehack.php,在外部连接测试时,把127.0.0.1换成ipconfig查出的值就可以了。

1.3、蚁剑连接

使用蚁剑连接验证,可以连接成功,并且可以进入目标服务器的终端进行执行命令
文件上传靶场实战:upload-labs第1-3关_第9张图片
文件上传靶场实战:upload-labs第1-3关_第10张图片

2、Pass-02

2.0、攻击思路

直接上传一句话木马的文件info.php,上传前按F12,选择Network看请求URL,发现直接请求服务端,返回验证文件内容类型不通过信息,可以断定是服务端的验证,因此要想办法绕过。可用Burp Suite拦截来处理。

2.1、BurpSuite拦截

看到拦截的内容有Content-Type: application/octet-stream 把它修改为图片的值,不知道的情况可以用正常上传成功的值Content-Type: image/jpeg来替换,然后再点BP工具的Forward让提交到服务端。
文件上传靶场实战:upload-labs第1-3关_第11张图片

在图片身上右击,选择新建标签页打开图像打开访问。
文件上传靶场实战:upload-labs第1-3关_第12张图片

2.2、木马解析成功

文件上传靶场实战:upload-labs第1-3关_第13张图片

3、Pass-03

3.0、攻击思路

直接上传一句话木马的文件info.php,上传前按F12,选择Network看请求URL,发现直接请求服务端,返回文件名后缀验证不通过信息,可以断定是服务端的验证,因此要想办法绕过。可用Burp Suite拦截来处理。

3.1、确认httpd.conf

httpd.conf文件在老版小皮Apache下,win7虚拟机路径是C:\phpstudy\PHPTutorial\Apache\conf\

由于后缀名的限制,要解析php文件,需要确认Apache的配置,在IfModule节点确认配置【application/x-httpd-php配置】,我在后面再添加了.php3 .php4 .html,除了php外有其他后缀名即可,在文件上传时可以用除.php外的后缀名解析为php。

AddType application/x-httpd-php .php .phtml .php3 .php4 .html

文件上传靶场实战:upload-labs第1-3关_第14张图片

修改完保存一定要重启Apache服务才会生效。

3.2、上传文件

先上传一句话木马的文件info.php重命名为info.phtml,上传成功。

文件上传靶场实战:upload-labs第1-3关_第15张图片

在图片身上右击,选择新建标签页打开图像打开访问。
文件上传靶场实战:upload-labs第1-3关_第16张图片

3.3 、木马解析成功

文件上传靶场实战:upload-labs第1-3关_第17张图片

4 、资料获取

请关注我的公众号:大象只为你,回复:文件上传,获取文件上传漏洞靶场。

如果之前没有下载过win7虚拟机的话,请回复关键字:虚拟机,获取win7虚拟机,加载到VM ware即可用。

5、下期内容预告

下期继续分享文件上传靶场实战,敬请关注我的公众号:大象只为你,持续更新中…

你可能感兴趣的:(跟我学网安知识,文件上传漏洞,网络安全)