精华内容
下载资源
问答
  • 文件上传 黑名单&白名单绕过(上)

    千次阅读 2021-10-04 22:13:35
    后缀名:黑名单白名单 文件类型:MIME信息 文件头:内容信息 php与html代码混编 $_FILES[表单上传name][‘name’] <?php $_FILES[upload_file]['name']; ?> <form method="post" action=""> <p>...

    前言

    文件上传常见验证:
    后缀名:类型,文件头
    后缀名:黑名单,白名单
    文件类型:MIME信息
    文件头:内容信息

    php与html代码混编
    $_FILES[表单上传name][‘name’]

    <?php
    $_FILES[upload_file]['name'];
    ?>
    
    <form method="post" action="">
    <p>请上传需要上传的文件:</p>
    <input class="input_file" type="file" name="upload_file"/>
    <input class="button" type="submit" name="submit" value="上传"/>
    </input>
    </form>
    

    MIME验证

    upload-labs第二关

    $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

    在这里插入图片描述
    上传php文件burp抓包

    在这里插入图片描述
    修改content-Type就可以进行绕过

    黑名单绕过

    upload-labs 第三关

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array('.asp','.aspx','.php','.jsp');
            $file_name = trim($_FILES['upload_file']['name']);
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            $file_ext = trim($file_ext); //收尾去空
    
            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后缀文件!';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    

    $deny_ext数组中规定后缀为.asp’,’.aspx’,’.php’,’.jsp文件 这就是黑名单
    在黑名单中没有规定php5 php3 phtml文件后缀名可以上传这些后缀名的文件进行绕过

    .htaccess解析

    htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
    htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

    利用.htaccess文件重写规则绕过黑名单
    将.htaccess文件上传至服务器,只要文件名与定义的字符串匹配就会当作php去解析

    <FilesMatch "c7ay">
    SetHandler application/x-httpd-php
    </FilesMatch>
    

    在jpg文件后加入<?php phpinfo()?>

    在这里插入图片描述
    访问jpg文件也可以解析php

    在这里插入图片描述

    大小写绕过

    黑名单中文件后缀没有进行大小写转换造成的安全漏洞,直接可以上传PHp后缀文件

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".ini");
            $file_name = trim($_FILES['upload_file']['name']);
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            $file_ext = trim($file_ext); //首尾去空
    
            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 = '此文件类型不允许上传!';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    

    空格绕过

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".ini");
            $file_name = $_FILES['upload_file']['name'];
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            
            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 = '此文件不允许上传';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    

    没有对文件名收尾去空,上传文件后修改filename,在末尾加入空格可以绕过黑名单

    在这里插入图片描述

    点绕过

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".ini");
            $file_name = trim($_FILES['upload_file']['name']);
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            $file_ext = trim($file_ext); //首尾去空
            
            if (!in_array($file_ext, $deny_ext)) {
                $temp_file = $_FILES['upload_file']['tmp_name'];
                $img_path = UPLOAD_PATH.'/'.$file_name;
                if (move_uploaded_file($temp_file, $img_path)) {
                    $is_upload = true;
                } else {
                    $msg = '上传出错!';
                }
            } else {
                $msg = '此文件类型不允许上传!';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    

    上传的文件没有进行删除后缀名的点,和空格绕过黑名单同理,抓包修改filename

    在这里插入图片描述

    ::$DATA绕过

    在window的时候如果文件名+":: D A T A " 会 把 : : DATA"会把:: DATA"::DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".ini");
            $file_name = trim($_FILES['upload_file']['name']);
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = trim($file_ext); //首尾去空
            
            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 = '此文件类型不允许上传!';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    

    在这里插入图片描述

    点空格组合绕过

    $is_upload = false;
    $msg = null;
    if (isset($_POST['submit'])) {
        if (file_exists(UPLOAD_PATH)) {
            $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".ini");
            $file_name = trim($_FILES['upload_file']['name']);
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            $file_ext = trim($file_ext); //首尾去空
            
            if (!in_array($file_ext, $deny_ext)) {
                $temp_file = $_FILES['upload_file']['tmp_name'];
                $img_path = UPLOAD_PATH.'/'.$file_name;
                if (move_uploaded_file($temp_file, $img_path)) {
                    $is_upload = true;
                } else {
                    $msg = '上传出错!';
                }
            } else {
                $msg = '此文件类型不允许上传!';
            }
        } else {
            $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
        }
    }
    
    $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
            $file_ext = trim($file_ext); //首尾去空
    

    经过上述代码的过滤,将文件后缀名后加入. .经过过滤后为文件名.

    在这里插入图片描述

    人生漫漫其修远兮,网安无止境。
    一同前行,加油!

    展开全文
  • 文件上传黑名单白名单校验

    千次阅读 2019-07-29 18:45:10
    文章目录黑名单校验:截断上传: 用的不多,因为对PHP有版本要求: 黑名单校验: 在Apache的配置文件中,有能够被解析的后缀名的名单: 下面这个 自己的理解就是,单独的配置文件,优先级高于 config 可以自定义...

    js , mime抓包改字段相对简单不多介绍。
    重点介绍:

    黑名单校验:

    在这里插入图片描述
    在Apache的配置文件中,有能够被解析的后缀名的名单:
    在这里插入图片描述

    下面这个 自己的理解就是,单独的配置文件,优先级高于 config
    可以自定义解析规则。

    展开全文
  • 文件上传-白名单

    千次阅读 2020-08-30 21:03:35
    假如说,我们可以看到源码,那么这里表明只允许上传jpg、png、gif文件,除此以外,其他都不能。 %00截断,php5.3.29以下才可以用 之前我们说了,上传过程中先是上传到临时目录,也就是说她原来是把123.jpg上传到...

    get可以用%00截断

    post就必须抓包修改16进制了

    文件包含+木片马

    在这里插入图片描述
    在这里插入图片描述

    假如说,我们可以看到源码,那么这里表明只允许上传jpg、png、gif文件,除此以外,其他都不能。

    在这里插入图片描述
    在这里插入图片描述
    %00截断,php5.3.29以下才可以用

    在这里插入图片描述

    先上传,再检测

    之前我们说了,上传过程中先是上传到临时目录,然后检测,不合规的就删除,也就是说她原来是把123.jpg上传到upload目录。
    但是我们在临时目录前面加上我们自己的一句话木马(1.php)后面跟上%00截断
    后面就会变成upload/1.php%00123.jpg,(这里的1.php%00是我们自己加的,因为后面她会跟123.jpg拼接,但是因为%00截断,后面拼接的又要失效。所以最后网页上显示的实际是1.php,而1.php后面的全部无效。)
    最先是检测后缀名是否合规,判断到jpg合规,然后上传并移动目录,但是在移动的过程中,因为%00是结束符的意思,那么就把这个文件读取成了1.php,最后再把123.jpg重命名。

    11(%00截断一)

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    12(%00截断二)

    在这里插入图片描述
    在这里插入图片描述
    我们知道a的ascii码是61,那么我们改成00,然后放包就彳亍了。
    在这里插入图片描述
    在这里插入图片描述

    13图片马绕过

    查看源码:
    image.png

    可以看到,这里是通过读取上传文件的头2个字节来判断文件类型的,所以这里就只能上传图片马了。

    制作图片马:
    在这里插入图片描述

    然后上传,查看图片元素:

    image.png

    OK,上传成功。

    PS:由于上传后文件名的后缀即其所判断的图片类型的后缀,而且这里也不存在文件包含或者其他什么漏洞,所以无法用菜刀进行进一步的利用。

    17 条件竞争。

    在这里插入图片描述

    原理

    在删除之前访问的到旧木马,生成另一个新木马
    这样就算原先的木马被删了,我们还是有新的木马在

    旧木马写语句

    <?php file_put_contents('nf.php','<?php eval($_REQUEST[\'a\'])?>')?>
    

    或者

    <?php file_put_contents('nf.php','<?php eval($_REQUEST[1])?>')?>
    

    在这里插入图片描述

    那么我们既然知道了,旧木马的上传位置,我们就要在旧木马被删除之前,疯狂访问他,让他在被删除之前生成新的木马。

    这里可以先正常上传一张图片知道路径。
    在这里插入图片描述
    那么现在开始,2个跑包,一个上传包,一个访问包。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    上传包设置好了,现在来设置访问包。

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    然后我们再去访问新木马。这里应该是我访问包写错了,
    在这里插入图片描述

    方法二

    还是一样的思路,只不过上传包就是普通的图片马,这里就访问包发生了点变化。
    在这里插入图片描述
    最后还是没跑出来,,方法一不是很确定,但是方法二是一定可以做出来的这个就看自己运气了
    在这里插入图片描述
    是不是觉得不行?
    那么我们就来本地测试一下。
    先上传一个一句话木马,
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    新木马写入成功!!!!!!!!!!!!!!!!!!!!!

    本地测试成功!!!!!!!!!!!!

    18和17一样的。

    19 、move_uploaded_file()截断

    不管你上传什么格式的文件,她都会统一变成指定格式的文件,
    那么我们就可以利用之前的%00截断来做,但是她这里是post传参,我们就要去手动修改成url,也就是16进制。
    在这里插入图片描述
    记得要把后面截断的部分去掉,不然访问不了。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 什么是黑名单黑名单: 定义上传文件格式,如"php、jsp、zip、rar、tar等格式",如果上传文件触发该规则,一律拦截不允许上传

    黑名单验证 [验证文件后缀名]

    说到黑名单,就不得不提与之相对应的白名单,接着往下看。

    后缀名检测:判断文件后缀名的检测方式。

    后缀名检测的两种方式:黑名单与白名单。

    黑名单:
    	定义上传的文件格式,如"php、jsp、zip、rar、tar等格式",如果上传文件触发该规则,一律拦截不允许上传。
    
    白名单:
    	定义上传的文件格式,如"jpg、jpeg、png、gif、ico等格式",如果上传文件不符合该规则,同样一律拦截不允许上传。
    

    黑名单的绕过处理方法

    采用后缀名的绕过方法 如大小写、加空格、符号点、系统特性"::$DATA"绕过

    黑名单绕过 upload-labs-Pass-05 [大小写绕过]

    upload-labs-Pass-05 的过关技巧是黑名单验证,在黑名单的 $deny_ext 变量中限定了了后缀名,但并没有过滤大小写,所以可以利用大小写的格式绕过。

    在 upload-labs 的 Pass-06 关卡,当我们尝试上传后缀名为 “.php” 的格式文件时,会提示 “此文件类型不允许上传”,可以尝试使用大小写的方式去绕过 “.PHP”、“pHP”、“PHp”、"PhP"等


    在这里插入图片描述


    利用大小写绕过


    在这里插入图片描述


    黑名单绕过 upload-labs-Pass-06 [加空格绕过]

    upload-labs-Pass-06 的过关技巧也是黑名单验证,在黑名单的 $deny_ext 变量中限定了后缀名,且过滤大小写,但是并没有过滤空格的格式,所以可以利用加空格的格式绕过。

    在 upload-labs 的 Pass-06 关卡,当我们尝试上传后缀名为 “.php” 的格式文件时,会提示 “此文件类型不允许上传”,可以尝试抓包,在文件名后缀加空格的方式绕过。[空格在系统命名上并不会有影响,但是却干扰到了代码的检测,所以上传成功后仍然是php后缀文件]


    在这里插入图片描述


    在这里插入图片描述


    黑名单绕过 upload-labs-Pass-07 [加点绕过]

    upload-labs-Pass-06 的过关技巧也是黑名单验证,在黑名单的 $deny_ext 变量中限定了后缀名,且过滤大小写。我们可以尝试在文件名后缀加符号点绕过,这样的目的是为了混淆黑名单的校验。黑名单中只校验了".php",并没有校验".php.",所以在匹配黑名的时候无法匹配,从而绕过。


    在这里插入图片描述


    在这里插入图片描述


    黑名单绕过 upload-labs-Pass-08 [利用WIN系统特性::$DATA绕过]

    关于"WIN系统特性::$DATA"

    在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名
    
    例如:"phpinfo.php::$DATA"Windows会自动去掉末尾的::$DATA变成"phpinfo.php"
    
    上传到服务器的文件在Windows中会自动去掉::$DATA
    

    综上所述,该方法仅适用于WIN服务器。


    在这里插入图片描述


    在这里插入图片描述


    黑名单绕过 upload-labs-Pass-09 [组合空格&点绕过]

    这里我们先分析一下 upload-labs-Pass-09 的源码


    在这里插入图片描述


    抓包修改绕过


    在这里插入图片描述


    综合上述的几个案例,我们可以总结出黑名单绕过的几个方法

    大小写-文件命名
    
    加空格-系统特性
    
    符号点-系统特性
    
    ::$DATA-系统特性
    
    组合空格&点-系统特性
    

    这里简单说一下,黑名单的方式已经无数次被证实了其不可靠性。这里强烈推荐白名单的方式。

    在判断文件类型时,可以结合MIME Type、后缀检查、文件内容检查等方式。此外,对于图片马的处理,可以使用压缩函数或者risize函数,在处理图片的同时破坏掉图片中可能包含的HTML代码。

    展开全文
  • 区别于黑名单验证,白名单的绕过处理方法 采用后缀名的绕过方法 如`MIME修改、%00截断、0x00截断`
  • 但是,在挖漏时很少碰到可以顺利上传木马的点,一般都是卡在某一步(服务器白名单过滤、已上传木马文件找不到路径、无法解析……),然后不了了之……而实际上,对于文件上传的功能点,我们还可以进一步尝试进行存储型...
  • 黑名单绕过: 特殊解析后缀,.htaccess解析,大小写绕过,点绕过,空格绕过,::$DATA绕过,双后缀名绕过; 白名单绕过: MIME绕过,%00截断,0x00截断,0x0a截断,内容及其他绕过?,文件头检测,二次渲染,条件竞争...
  • 文件上传后端黑名单白名单绕过

    多人点赞 2021-06-23 21:30:23
    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者...文件上传后端黑名单白名单绕过一、文件上传常见验证:客户端验证:客户端校验服务端验证:后缀名:黑名单、白名
  • 上传一个名为1.php:.jpg的文件上传成功后会生成1.php的空文件,大小为0KB。 然后将文件名改为1.<或1.<<<或1.>>>或1.>><后再次上传,重写1.php文件内容,Webshell代码就会写入原来...
  • 1、上传1.php文件 2、上传1.phP文件 3、用菜刀链接 二、利用空格绕过 上传1.php文件,通过burpsuite抓包,在文件名后面加空格 三、利用.号绕过 上传1.php文件,通过burpsuite抓包,在文件名后面加个点号 四、...
  • 黑名单绕过方法: 1、大小写绕过 windows对大小写不敏感,所以上传大小写混写的php进行绕过 (因为后端一般验证后缀字符串是否和‘php’相等,(前提是没有将你传入的字符串进行小写转换后再对比),大写字母和小写...
  • 大多数情况下,我们都是通过扩展名来识别一个文件的类型的,比如我们看到一个.txt类型的文件我们就知道他是一个纯文本文件。但是,扩展名是可以修改的,当一个文件的扩展名被修改过,怎么识别一个文件的类型呢?这就...
  • 文件上传-绕过黑名单验证

    千次阅读 2019-05-19 20:59:59
    对于文件上传模块来说,尽量避免上传可执行的脚本文件。为了防止上传脚本需要设置对应的验证方式。 基于文件后缀名验证方式分类: 1、基于白名单验证:只针对白名单中有的后缀名,文件才能上传成功。 2、基于...
  • 大家谁懂那个如何针对 php和windows环境的叠加绕过文件上传 (不是DATA,是另一个特性) 这个绕过 进行一些防御呢 文件大小写 改变大小写 防御:统一转换为小写 名单绕过 比如黑名单里没有.php|.php5|.php4|....
  • 该案例使用SpringBoot 做了一个文件上传的案例,包括限制文件类型,文件大小等配置。
  • 文件上传-绕过白名单验证

    万次阅读 2019-05-21 17:15:10
    绕过黑名单验证(00截断绕过) 00截断原理 0x00是十六进制表示方法,是ascii码为0的字符,在有些函数处理时,会把这个字符当做结束符。 系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。 在PHP5.3之后的...
  • 主要介绍了PHP 数组黑名单/白名单,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 任务描述:通过修改MIME类型,使其符合$_FILES[‘upload_file’][‘type’]的白名单,达到上传恶意文件的目的。 在桌面写一个简单的一句话木马eval.php: 2. 在实验机内打开浏览器访问...
  • 文件上传白名单绕过方式: 文件上传白名单绕过分为好几种 例:MIME类型、%00截断、0x00截断、0x0a截断 %00截断 在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00...
  • 01 黑名单:一般指是后缀名禁止上传的,如下: php php1 php2 php3 php4 php5 pht phtml html htm PhP PhP1 PhP2 PhP3 PhP4 PhP5 PhT Phtml HTML HTM php. php ...
  • 而过滤的方式存在一定的缺陷,比如存在过滤的黑名单不全,未考虑大小写,以及对上传文件名单次进行敏感字符清除。 二、实验原理 当下流行的网站开发语言均存在多个可解析后缀,例如asp脚本语言的可解析后缀,不仅仅...
  • 黑名单文件上传绕过

    千次阅读 2019-10-24 14:08:26
    黑名单文件上传绕过 我在西北,一山又一山。与你相隔,一关又一关。 漏洞概述: .htaccess用于Apache .user.ini用于php 漏洞复现: .user.ini 原理: .user.ini将所有php文件自动包含任意木马文件执行。 使用...
  • 在配置文件中配置白名单列表 UploadFile.Extention=doc,docx,eml,htm,html,jpg,mht,msg,png,ppt,pptx,rar,txt,xls,xlsx,zip,pdf,jpeg,gif 2.拦截器 public class FileShellInterceptor extends ...
  • 文件上传漏洞asp、php、jsp、aspx如何绕过黑名单 脚本语言 绕过方式 asp .php/.php5/.php4/.php3/.php2/php1/.html/.htm/.phtml/.pHp/.pHp5/.pHp4/.pHp3/.pHp2/.pHp1/.Html/.Htm/.pHtml php .jsp/.jspa/....
  •   在实际***中,当我们发现...对于文件上传漏洞的防护来说,主要分为以下两类:白名单限制和黑名单限制,对于黑名单的限制,我们只需要寻找一些较为偏僻的可执行后缀、大小写混写以及相关操作系统的特性(如windo...
  • 首先直接上传php文件,看报错信息使用的是什么方式返回的 意味着可以抓包返回 于是尝试pass02中的修改Content-Type的方法 结果依旧上传不成功 查看一下题目的源代码 $is_upload = false; $msg = ...
  • 当做代码的审计或者文件搞渗文章上传的时候有时候会遇到黑名单的验证码,比如常规的一些脚本名asp php jsp这种的不允许上传,下面是我总结的一些绕过的方法Shtml<!--#includefile="/home/...
  • Windows系统下,如果上传的文件名中test.php::DATA会在服务器上生成一个test.php的文件,其中内容和所上传文件内容相同,并被解析。例如:在Windows系统下新建一个文件名为1.php::DATA会在服务器上生成一个test.php...
  • 后缀名:黑名单白名单 黑名单:asp php jsp aspx cgi war… 白名单: txt jpg zip rar gif… 类型:MIME信息 文件头:内容头信息 平台配置文件可能开启了以php解析php3,phtml,php5后缀,所以黑名单中如果疏漏了这些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,225
精华内容 9,290
关键字:

文件上传白名单设置