0x00 前言
上周写了一篇分析文件上传类php源码的文章,其中使用了一段upload-labs靶场的案例。
其实之前我只是听说过这个靶场,并没有下载,也没有想深入了解的念头。
但阴差阳错的分析完上周那个案例之后,顿时感觉实际黑盒+白盒的去尝试一下前辈们总结的所有上传漏洞类型,对我的技术成长甚至日常工作都将很有帮助。
所以这周给大家分享一下如何搭建和使用这个靶场,同时预告一下,不出意外的话,接下来几周的文章我要把这个靶场刷完。
0x01 下载搭建
靶场是作为一个项目分享在github上的,地址如下:
https://github.com/c0ny1/upload-labs
项目的README里给了搭建要求,同时作者也分享了快速搭建的集成环境。能按照搭建要求自己搭的朋友估计也不需要看我这篇文章。 所以这里就只分享一下集成环境的使用方法吧。
集成环境直接去releases里下载:
https://github.com/c0ny1/upload-labs/releases/download/0.1/upload-labs-env-win-0.1.7z
下载后是个7zip压缩包,使用压缩工具解压后的文件如下,注意文件路径不要出现中文和空格:
第一次运行先双击运行目录下的modify_path.bat,脚本会自动修改配置文件中的路径信息,如果以后路径有变化也要记得重新运行一下这个脚本。
之后双击运行phpStudy.exe,点击启动即可。
浏览器访问本机地址127.0.0.1,即可看到靶场的页面。
0x02 使用指南
直接点击左边的关卡号选择关卡。
尝试使用各种方法上传一个webshell到服务器上即可,当然基本的要求是要能解析的php文件。
如果黑盒做不出,右上角可以查看作者的提示。或者直接查看源码转白盒。
0x03 抓包相关
打这种靶场肯定是要抓包的,之前有写过一篇文章《burp疑难杂症排查方向和解决方案》,里面提到过burp抓本机地址包的时候会遇到的问题和解决方案。
这篇文章里没写chrome怎么解决不能抓127的方法。后面文章发出后,killer师傅和我分享了方法,在这里补充一下:
在不代理的地址列表里,添加<-loopback>即可。这个插件的名称叫Proxy SwitchyOmega,在chrome和firefox上都能用。
看起来是对环回地址进行取反操作,所以猜测限制chrome不能抓127的原因还是出自它自身的某些配置。
虽然后面还是没有找到到底哪条配置在起这个作用,但不要紧,已经有上面的解决方案了,能用就行。
0x04 后记
接下来的几周,小黑将尝试通关这个靶场,并且从白盒角度分析每个案例的源码。这应该会对自己的漏洞挖掘和代码审计能力的提高有所帮助。
另外在探索过程中还发现了一些类似的上传靶场:
https://github.com/sqlsec/upload-labs-docker
(uploads-labs国光版)
https://github.com/admin360bug/upload-labs
(uploads-labs开普勒版)
不知道它们和原版有什么区别,刷完原版之后我再去看看。如果区别比较大,也会继续刷下去并分享出来。
喵,点个赞再走吧~
原文始发于微信公众号(小黑的安全笔记):上传靶场upload-labs搭建及使用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论