Bu1'Blog

如果能控制粗鄙的狂喜,就不会有深入骨髓的悲伤。

0%

upload-labs-env靶场①

这篇记录的是前10关,基本都是黑名单绕过,待续。

第一关

要求上传一个webshell到服务器,图片格式。

  • image-20191209211942923

用F12审计下代码,发现是前端js限制,删除检测文件名的函数。(也可以用burpsuit抓包改文件名)

这里我用chrome浏览器修改,但是浏览器没有响应,有知道原因的师傅们欢迎和我联系。推荐使用Firefox浏览器。

  • image-20191210131100409

上传写好的一句话,右键复制上传地址。

  • image-20191210133337938

用蚁剑连接,上传成功。

  • image-20191210133608910

第二关

先用F12定位简单看下发现并没有前端限制,尝试上传一句话,打印出文件类型不正确,数据传过去了,说明前端并没有限制,可能后端服务器存在MIME限制

  • image-20191210153158282

修改为image/png,放包

  • image-20191210153610199

右键拿到上传地址http://localhost/upload/testa.php,访问成功。

  • image-20191210154151852

第三关

尝试上传一个小马,回显不能上传php后缀的文件。

  • image-20191210154647951

猜测应该是有黑名单,尝试利用大小写绕过,失败。再尝试构造特别的文件拓展名,如php3,尝试上传成功。

  • image-20191210160226375

连接一句话试试,连接成功。

  • image-20191210160441823

第四关

上传刚才改后的一句话,不允许上传,这里应该还是黑名单限制,限制范围更广了。

  • image-20191210160820838

尝试构造特殊的后缀试试php3_

  • image-20191210161020845

放包上传成功

  • image-20191210161112170

找到上传目录,用蚁剑连接试试:连接失败。并没有解析特殊名。

这个黑名单范围有点广,就不做太多别的后缀名尝试,上传一个.htaccess文件看能不能重置解析,上传成功。

1
2
3
<FilesMatch ".png">  
SetHandler application/x-httpd-php
</FilesMatch>
  • image-20191210164302396

再把一句话木马的后缀改为png上传。(我这里用的是图片马)

  • image-20191210164407252

蚁剑连接

  • image-20191210164458275

第五关

这里尝试重置解析发现不允许上传,那么只能尝试构建特使文件名。

  • image-20191210164728858

再次尝试构建特殊的文件名,这里尝试利用00截断来上传。

  • image-20191210170456610

无果。尝试将混淆大小写,将马的名字改为.phP上传

  • image-20191210170653424

连接蚁剑,成功解析。

  • image-20191210170853184

第六关

之前那样猜太耗费时间了,直接看源码,发现没有对文件名结尾做校验,因此可以尝试抓包在文件末尾添加空格来绕过。

  • image-20191210171750612

放包上传成功,蚁剑连接

  • image-20191210171845612

第七关

通过查看代码,并没有对文件名结尾做校验,原理同第六关,这里直接给文件名加.

  • image-20191210172151665

成功上传

  • image-20191210172251262

第八关

为了加快速度,将小马改成phpinfo(),这样就可以在浏览器直接验证上传效果。

通过看源码发现,这一次对文件名大小写,后缀都做了限制,我们可以通过windows流特性来绕过。在文件名结尾增加 ::$DATA 来实现绕过

  • image-20191210172826658

放包上传成功。

  • image-20191210172856432

右键拿到上传地址,访问成功。

  • image-20191210173227462

第九关

看源代码,他先过滤文件名结尾的.再过滤结尾的空格因此我们可以构造一个特殊的文件名php.空格.

  • image-20191210173702842

成功上传,再访问,无报错(这里传的是小马)。

  • image-20191210173759515

第十关

上传一个马试试,成功。

  • image-20191210183349520

访问发现后缀名丢失。

  • image-20191210183443384

上传一个双写后缀名的.pphphp文件

  • image-20191210183842229

访问

  • image-20191210183905881