upload-lab靶场(1-9关)
docker pull c0ny1/upload-labs //拉取镜像
docker images //查看镜像
docker run -d -p 8081:8081 c0ny1/upload-labs:latest //启动镜像
登录:192.168.111.135:8081
编写一个php木马,如下所示:
Pass-01
直接上传php木马,发现前端报错:
Pass-02
看源代码,发现仅仅判断content-type,于是修改content-type绕过:
上传成功:
Pass-03
查看源代码,发现是黑名单判断,于是尝试将后缀用php3,phtml绕过:
Pass-04
查看源代码,虽然还是黑名单,但几乎过滤了所有有问题的后缀名,除了.htaccess,于是首先上传一个以.htaccess为后缀的内容如下的文件:
SetHandler application/x-httpd-php
这样所有文件都会解析为php,然后再上传图片马,就可以解析:
Pass-05
查看源代码,还是黑名单,加上了.htaccess,但是没有将后缀进行大小写统一,于是可以通过大小写绕过:
上传成功:
Pass-06
查看源代码,还是黑名单,但是没有对后缀名进行去空处理,可在后缀名中加空绕过:
上传成功:
Pass-07
查看源代码,还是黑名单,但是没有对后缀名进行去”.”处理,利用windows特性,会自动去掉后缀名中最后的”.”,可在后缀名中加”.”绕过:
上传成功:
Pass-08
查看源代码,还是黑名单,但是没有对后缀名进行去”:: $ DATA”处理,
利用windows特性,可在后缀名中加” ::$DATA”绕过:
上传成功:
Pass-09
查看代码,黑名单过滤,注意第15行和之前不太一样,路径拼接的是处理后的文件名,于是构造shell.php. . (点+空格+点),经过处理后,文件名变成shell.php.,即可绕过。
上传成功: