靶场练习_upload-labsPass01-20

Posted chrysanthemum

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了靶场练习_upload-labsPass01-20相关的知识,希望对你有一定的参考价值。

Pass-01:

 

 <?php phpinfo();?>

1.函数重写:

技术图片

技术图片

技术图片

 

2.禁用js:

技术图片

 

 


Pass-02:

修改MIME Type

 

 <?php phpinfo();?>

 

技术图片

 

技术图片


 Pass-03:

技术图片
<?php
$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‘]);//trim — 去除字符串首尾处的空白字符(或者其他字符
        
        $file_name = deldot($file_name);//删除文件名末尾的点
        $file_ext = strrchr($file_name, ‘.‘);  //得到文件的最后一个后缀
                                             //strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
        $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;//move_uploaded_file() 函数将上传的文件移动到新位置
            } else {
                $msg = ‘上传出错!‘;
            }
        } else {
            $msg = ‘不允许上传.asp,.aspx,.php,.jsp后缀文件!‘;
        }
    } else {
        $msg = UPLOAD_PATH . ‘文件夹不存在,请手工创建!‘;
    }
}
View Code

 

审约源码后,上传一个 “ 1.php7 ” 的文件

技术图片

 

 但是在访问的时候,发现它没有解析php代码

技术图片

 

 


 

以上是关于靶场练习_upload-labsPass01-20的主要内容,如果未能解决你的问题,请参考以下文章

第三次靶场练习:通过抓包,绕过内部限制

渗透测试练习靶场汇总

Sqli-labs靶场搭建

vulnhub Gigachad 靶场练习

封神台靶场:模仿公司网站——Cookie注入练习

vulnhub sar 靶场练习