靶场搭建过程很简单,不会自行百度。我这里略过。
靶场源码地址:github.com/c0ny1/upload-labs
我这里为了方便,就下载了靶主已经集成配置好的环境进行本地搭建。地址:github.com/c0ny1/upload-labs/releases
本地搭建好是下面这个页面:
文件上传简介
文件上传(一)
在现代互联网的许多动态网站或伪静态网站中,文件上传是一种常见的功能,因为它有利于提高效率和用户体验,如:允许用户上传图片、头像、视频及许多其他类型的文件,一个网站存在的功能越多和向用户提供的功能越多,那么它可能存在的风险就越大,如果网站存在文件上传漏洞,那么我们就可以利用上传漏洞上传恶意脚本到服务器,从而获得网站权限webshell。
文件上传之所以存在漏洞,主要是因为未对客户端上传的文件类型、内容、后缀、上传规则、服务器上传文件功能处理图片规则,进行严格的校验和过滤、循环校验、就容易产生上传漏洞。
恶意脚本文件的危害非常大,非法用户上传恶意脚本文件有时候甚至可以拿下整个网站进一步拿下服务器。
下面靶场演示:
建议大家每做一题都把靶场清空一次,我试过了。不清空的话一把菜刀可以把下面的题目都拿下。
01:
前端绕过
前端绕过比较简单,我们抓包修文件后缀就可以了。
02:
类型检测,类型检测我们也可以通过抓包修改,这一题靶场好像不是太严谨,不过知道可以通过修改类型绕过就可以了
03:
黑名单绕过,前面一部分忘了截图。黑名单绕过,我们可以通过PHP可解析PHP3-4-8-phtml等等可以被PHP解析的文件类型进行绕过
04:
.htaccess解析绕过,这个功能默认是不开启的,当然很多伪静态的网站可能会开启,.htaccess是定义目录解析规则。我们可以自己写解析规则到.htaccess里面,然后上传.htaccess,再上传图片,这时候我们的图片就会安装我们在.htaccess里面写的解析规则进行解析了。
如:AddType application/x-httpd-php .jpg/将目录中的jpg