偶然间刷到了一个训练文件上传的靶场,由php编写,专门收集了各类渗透测试过程中的上传漏洞,旨在让人对上传漏洞有一个更清晰的认识,目前项目一共19关,每一关有着不同的上传方式。
- 下载upload-labs及环境
靶机系统文件下载:https://github.com/Tj1ngwe1/upload-labs
由于是php编写的项目,因此还需要准备php环境,如phpstudy等,我用的是小皮面板。
- 部署
在github上下载项目后,将压缩包解压并修改文件夹名为:upload-labs,再移动至phpstudy网站目录:phpstudy\www,若使用的环境为phpstudy提供需在phpStudy设置中允许目录列表。再移动文件夹后于文件夹中创建upload文件夹用于之后文件上传存放文件。
部署成功后访问localhost/upload-labs,界面如下:
- Pass01
首先测试上传正常图片:
上传成功:
右键图片查看图像链接:
得到图片的存放位置:http://localhost/upload-labs/upload/献给竭尽全力的你.png,因此可以得知此处并没有对文件名修改进行上传防护。
接着测一下上传webshell:
提示该文件不允许上传,开启抓包接着尝试上传,仍发现直接提示该文件不允许上传,而抓包这边没有任何反馈,猜测对文件的判断是在本地js进行的,因此继续尝试抓包绕过,思路为将shell01.php修改为shell01.jpg,再上传时抓包修改回shell01.php。
界面显然发生了点变化
验证一下,上传成功。