赞
踩
Portswigger是著名神器Burpsuite的官方网站,实际上也是一个非常好的漏洞训练平台。
官网地址:https://portswigger.net/web-security
为了方便,今后该系列就称之为Burpsuite靶场系列。
废话不多说,开始本篇文章的主题:文件上传漏洞
一、什么是文件上传漏洞
如上示意图,从攻击者角度出发,在存在文件上传漏洞的业务系统web页面上传点中上传一个充当Webshell的服务器端代码文件,成功上传后GET请求成功获取服务器系统用户的UID、GID和附加组的信息。
简单的来说,文件上传漏洞就是指 Web 服务器允许用户在没有充分验证文件名称、类型、内容或大小等内容的情况下将文件上传到其文件系统。攻击者可以利用该漏洞上传Webshell,从而有效地获得对服务器的完全控制权。
1.1实验环节
1.1.1 通过webshell上传远程代码执行
我们先来看题:
进入实验室,是一个登录框
利用题目中给的账户wiener密码peter登录后,我们可以看到是一个账号信息界面,可以上传头像图片。
随意选择图片upload.jpg上传,burpsuite开启抓包,
在代理历史中,如下图,我们注意到含有上传图片名的这条记录,将请求发送到burp中继器。
我们本地准备upload.php文件,文件内容根据题目提供的所需获取/home/carlos/secret,我们写入以下php one-liner:
<?php echo file_get_contents('/home/carlos/secret'); ?>
上传显示成功后,修改burp Repeater里的请求路径指向upload.php文件
GET /files/avatars/upload.php HTTP/1.1
send发送后获取题中所指文件信息
一个简单的文件上传漏洞实验就是如此。
接下来咱们更换靶场环境,同样上传upload.php,burp拦截数据重放
这里咱们发现上传失败了,这里它做了文件类型校验不允许php文件类型上传,于是我们修改Content-Type参数将text/php改成image/jpeg
这回咱们看到上传成功了,接下来和之前一样get请求php文件获取题中所需文件内容
后续会带来burpsuite靶场的进阶文件上传漏洞以及其他漏洞介绍及实验,敬请期待!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。