通过绕过js前端验证、黑名单验证、白名单验证等检查手段,通关文件上传漏洞靶场
绕过js前端验证
因为是前端js校验,可以删除掉checkfile js验证函数,或者可以利用burpsuite修改文件类型上传
黑名单验证
黑名单是限制上传的文件类型,但是会存在各种其他问题,并且黑名单做上传过滤很有可能存在过滤不全,容易产生绕过
黑名单不允许上传.asp,.aspx,.php,.jsp后缀的文件,但可以上传.phtml,.phps,.php5,.pht等后缀的文件,前提是apache的httpd.conf中有配置此类文件
在第四关中,过滤了大多数的后缀名,但可以使用.htaccess文件,首先上传一个.htaccess文件
文件内容如下:
AddType application/x-httpd-php .png //作用是把.png 后缀格式当成php来执行
接着我们再将shell.php文件改名重新上传:
白名单验证
白名单是很好的验证上传文件是否合法的方法,只准许特定的文件上传至服务器,但可能会因为后端代码对文件格式验证不严格导致出现文件上传漏洞
仅仅判断content-type,修改content-type绕过