墨者学院-WebShell文件上传漏洞分析溯源(第3题)
墨者学院-WebShell文件上传漏洞分析溯源(第3题)
前言:
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。显然这种漏洞是getshell最快最直接的方法之一,需要说明的是上传文件操作本身是没有问题的,问题在于文件上传到服务器后,服务器怎么处理和解释文件。
靶场地址:https://www.mozhe.cn/bug/detail/MGt2VGdsK093TkdtcURBSXFySnZpUT09bW96aGUmozhe
正文:
打开靶机地址,是一个文件上传的界面
考虑上传一句话木马
新建一个php文件,写入一句话木马
1 <?php 2 eval($_POST['a']); 3 ?>
打开burpsuite抓包,上传刚刚写好的php文件
直接放行
显然不允许上传,再试试修改后缀为12345
虽然仍是不允许上传,但我们已经可以确定此题为白名单。
我们加上文件头GIF89a
上传成功!路径直接暴了出来。
接下来大胆用菜刀连接
连接上之后,在www目录下发现key
反思:
文件上传漏洞,要有一定的思路。可以先上传一句php一句话木马。
不行后,通过burp改包来尝试。
将后缀修改成任意的,来确定过滤方式为白名单还是黑名单,上传失败为白名单,上传成功为黑名单。
再加上文件头或修改Content-Type尝试。