文件上传实例
这里有个脑图觉得还不错:
下面实例都是在墨者学院靶场做的,几种常见的上传姿势
1.结合iis5.x/6.0解析漏洞上传文件
先上传一个asp文件,抓包看看返回结果是什么
由上图我们可以知道服务器是iis6.0,接下来我们利用iis6.0解析漏洞来上传我们的一句话,添加一个asp目录
2.一句话木马图片
分析上图,先上传php文件,不允许,那么改下后缀名为png,还是不行,看来是对文件内容做了检查,做个图片马,上传
菜刀连接
3.绕过前端验证
先上传php文件
从上图可以看到上传的时候弹出一个弹窗,只让我们上传上面格式的文件,那么我们把我们的文件名后缀改成png,上传抓包,在包里将我们的文件再改回php文件
上图显示我们上传成功,那么最后就是菜刀拿shell了
4.修改Content-Type绕过
上传一句话抓包
从上图可以指看到,Content-Type字段是application/octet-stream,来到Repeater,将Content-Type: application/octet-stream改成Content-Type: image/jpeg
成功上传,菜刀连接,getshell
5.这种上传方式,挺刺激的。。。。。
没有任何可以上传的页面,但是页面显示的是有上传的地址的,所以扫描一下,或者可以猜一下路径
没有显示错误,说明这个目录下应该可以找到我们想要的的
猜一下上传目录,我一开始写的是upload.php,进入之后就直接跳转到upload1.php,并且提示无权访问,抓包看一下吧
下面就是无限的抓包重放,看返回包中有没有什么我们需要的东西
下图这个返回包中我们可以看到upload.php下一跳应该是upload_file.php,但是由于权限问题,不能进去
但是,forward之后就出现了上传界面,神奇啊,那就上传一句话
接下来只要知道绝对路径就可以上传我们的一句话了,这个cookie挺让我在意的,把它改成upload_file.php,go一下,返回包直接显示了上传路径,文件上传之后被重新命名了,命名规则也很简单:verify_当天日期_你上传的文件名,前面我们上传文件的时候,有个verify,它的值就在下面
成功getshell