文件上传漏洞

基础知识

上传文件,使用burp抓包,会出现如下两种情况:
- ①若burp抓到请求包:
	- 则说明存在服务端检测,
		- 可通过修改数据包中文件的content-type 类型、修改filename为.htaccess、添加文件头GIF89a,等操作进行绕过。
- ②若burp未抓到请求包:
	- 则说明存在前端检测,
		- 需禁用浏览器JavaScript后再重新抓包绕过。

1.在前端校验

  • 绕过方式:在浏览器中禁用JavaScript直接用Burp重命令后发送注册请求
    • 修改文件名绕过(.jpg → .php)
  • 注意:虽可以在前端禁用JavaScript代码执行,但不建议这么做,因为前端页面中可能还存在很多JS的功能全部都可能被禁用。

2.在后端校验

  • 绕过方式:
    • 大小写转换(.php → .PhP)
    • 使用Burp修改content.type后绕过

3.upload-labs靶场环境绕过方式提醒

前端绕过
类型绕过
黑名单绕过
大小写绕过
图片马包含
空格绕过
点绕过
点空格点绕过
双写绕过
条件竞争
Windows专用
Apache解析机制

dvwa
pikachu

靶场实战

upload-labs:http://127.0.0.1/uploadlabs

Pass-01-前端JS检查

【提示】本pass在客户端使用js对不合法图片进行检查!

  • 三种方法:
    • 前端禁用JS
    • 修改后缀,通过Burp上传改回后缀
    • 部分浏览器可直接修改前端代码

Pass-02-只验证Content-type

【提示】本pass在服务端对数据包的MIME进行检查!

  • 方法:
    • 上传shell.php,抓包修改content-type为图片类型:
      • image/jpeg,image/png,image/gif

Pass-03-黑名单绕过

【提示】本pass禁止上传.asp|.aspx|.php|.jsp后缀文件!

黑名单:禁止XXX,限制范围有限
白名单:只允许XXX

  • 源代码:本关对文件进行了重命名,部分代码如下:(第三行)
if(!in_array($file_ext, $deny_ext)) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;            
            if (move_uploaded_file($temp_file,$img_path)) {
                 $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '不允许上传.asp,.aspx,.php,.jsp后缀文件!';
        }
  • 方法:
    • 用黑名单不允许上传.asp .aspx .php .jsp后缀的文件,但可以上传.phtml .phps .php5 .pht,前提条件:且还需要后台配置,即在apache的httpd.conf(路径:D:\Tools\phpstudy_pro\Extensions\Apache2.4.39\conf)中加入如下一条配置命令:
      • AddType application/x-httpd-php .php .phtml .php5

Pass-04-htaccess绕过

【提示】本pass禁止上传 .php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf 后缀文件!

黑名单拒绝了几乎所有有问题的后缀名,除了.htaccess

posted @ 2023-04-20 14:24  unnEvelyn  阅读(128)  评论(0)    收藏  举报