首页 > Web开发 > 详细

文件上传漏洞学习

时间:2019-04-14 22:58:09      阅读:291      评论:0      收藏:0      [点我收藏+]

 

 学习环境 upload-lobs

1.

技术分享图片

 

pass-01:  

关键词:前端上传绕过;客户端js检查

浏览器禁用网页的javascript即可 上传phpinfo.php文件

技术分享图片

 

 代码只是在客户端使用js对不合法图片进行检查

 

pass-02:服务端对数据包的MIME检查

 白名单

代码

$is_upload = false;
$msg = null;
if (isset($_POST[‘submit‘])) {
    if (file_exists(UPLOAD_PATH)) {
        if (($_FILES[‘upload_file‘][‘type‘] == ‘image/jpeg‘) || ($_FILES[‘upload_file‘][‘type‘] == ‘image/png‘) || ($_FILES[‘upload_file‘][‘type‘] == ‘image/gif‘)) {
            $temp_file = $_FILES[‘upload_file‘][‘tmp_name‘];
            $img_path = UPLOAD_PATH . ‘/‘ . $_FILES[‘upload_file‘][‘name‘]            
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = ‘上传出错!‘;
            }
        } else {
            $msg = ‘文件类型不正确,请重新上传!‘;
        }
    } else {
        $msg = UPLOAD_PATH.‘文件夹不存在,请手工创建!‘;
    }
}

只允许jpeg,png,gif的格式上传,否则不执行上传
用burpsuite 抓包修改MIME头,改为image/jpeg或image/png或image/gif
技术分享图片

技术分享图片

 

MIME:多用途互联网邮件扩展,它是一个互联网标准,在1992年最早应用于电子邮件系统,但后来也应用到浏览器服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件

 

pass-03:

.htaccess绕过原理

还没写完

 

 

文件上传漏洞学习

原文:https://www.cnblogs.com/liqik/p/10708001.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!