网安渗透攻击作业(4) Unload-labs-pass-02

Unload-labs-01

function checkFile() {
    var file = document.getElementsByName('upload_file')[0].value;
    if (file == null || file == "") {
        alert("请选择要上传的文件!");
        return false;
    }
    //定义允许上传的文件类型
    var allow_ext = ".jpg|.png|.gif";
    //提取上传文件的类型
    var ext_name = file.substring(file.lastIndexOf("."));
    //判断上传文件类型是否允许上传
    if (allow_ext.indexOf(ext_name + "|") == -1) {
        var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
        alert(errMsg);
        return false;
    }
}

php代码

<?php 
phpinfo();
?>

第一种方法:

将拍黄片改为.jpg格式,如下图所示:

抓到结果如图:

ctrl+R传到repeater将.jpg格式改为php之后点击send

至此就成功传进去了

第二种方法:

Google Chrome 操作:

1、点击设置        2、点击隐私安全        3、网站设置       

 4、JavaScript        5、不允许网站使用JavaScript

传入成功

Unload-labs-pass-02

第二关方法和第一关方法无二,结果如图所示:

至此传入成功!!!

Unload-labs-pass-03

这里是设置了黑名单不能传.asp.aspx.php.jsp文件

$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 . '文件夹不存在,请手工创建!';
    }
}

Apache中的.php3.phtml可以解析PHP文件

相关推荐

  1. 面试指南——(渗透攻击,防御)

    2024-03-14 19:36:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 19:36:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 19:36:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 19:36:02       82 阅读
  4. Python语言-面向对象

    2024-03-14 19:36:02       91 阅读

热门阅读

  1. day2-C++

    day2-C++

    2024-03-14 19:36:02      31 阅读
  2. 当代计算机语言占比分析

    2024-03-14 19:36:02       50 阅读
  3. 文件系统事件监听

    2024-03-14 19:36:02       43 阅读
  4. 【OpenGL经验谈01】Vertex 规范最佳实践

    2024-03-14 19:36:02       41 阅读
  5. SpringCloud中Gateway提示OPTIONS请求跨域问题

    2024-03-14 19:36:02       41 阅读
  6. 如何详细自学python?

    2024-03-14 19:36:02       41 阅读
  7. 自动化运维工具Ansible之playbooks剧本

    2024-03-14 19:36:02       49 阅读
  8. Android 卫星通信计算方位角,仰角,极化角

    2024-03-14 19:36:02       36 阅读
  9. el-table 合集行合并

    2024-03-14 19:36:02       39 阅读
  10. 数据库基础知识

    2024-03-14 19:36:02       36 阅读