[网络安全]upload-labs Pass-19 解题详析

简介: [网络安全]upload-labs Pass-19 解题详析

姿势

本关修改myupload.php中代码为下图:

后端逻辑代码:

<?php
include '../config.php';
include '../head.php';
include '../menu.php';
$is_upload = false;
$msg = null;
if (isset($_POST['submit']))
{
    require_once("./myupload.php");
    $imgFileName =time();
    $u = new MyUpload($_FILES['upload_file']['name'], $_FILES['upload_file']['tmp_name'], $_FILES['upload_file']['size'],$imgFileName);
    $status_code = $u->upload(UPLOAD_PATH);
    switch ($status_code) {
        case 1:
            $is_upload = true;
            $img_path = $u->cls_upload_dir . $u->cls_file_rename_to;
            break;
        case 2:
            $msg = '文件已经被上传,但没有重命名。';
            break; 
        case -1:
            $msg = '这个文件不能上传到服务器的临时文件存储目录。';
            break; 
        case -2:
            $msg = '上传失败,上传目录不可写。';
            break; 
        case -3:
            $msg = '上传失败,无法上传该类型文件。';
            break; 
        case -4:
            $msg = '上传失败,上传的文件过大。';
            break; 
        case -5:
            $msg = '上传失败,服务器已经存在相同名称文件。';
            break; 
        case -6:
            $msg = '文件无法上传,文件不能复制到目标目录。';
            break;      
        default:
            $msg = '未知错误!';
            break;
    }
}
?>
<div id="upload_panel">
    <ol>
        <li>
            <h3>任务</h3>
            <p>上传一个<code>webshell</code>到服务器。</p>
        </li>
        <li>
            <h3>上传区</h3>
            <form enctype="multipart/form-data" method="post">
                <p>请选择要上传的图片:<p>
                <input class="input_file" type="file" name="upload_file"/>
                <input class="button" type="submit" name="submit" value="上传"/>
            </form>
            <div id="msg">
                <?php 
                    if($msg != null){
                        echo "提示:".$msg;
                    }
                ?>
            </div>
            <div id="img">
                <?php
                    if($is_upload){
                        echo '<img src="'.$img_path.'" width="250px" />';
                    }
                ?>
            </div>
        </li>
        <?php 
            if($_GET['action'] == "show_code"){
                include 'show_code.php';
            }
        ?>
    </ol>
</div>
<?php
include '../footer.php';
?>

可使用图片码绕过

上传一个含有木马的gif文件:

打开图像连接获得图片路径:

靶场提供文件包含:

于是可以利用文件包含进行命令执行:

POC:

http://localhost/upload-labs-master/include.php?file=upload/1692794817.gif&1=phpinf

回显如下:

该题也可使用条件竞争来完成

具体操作参考:[网络安全]upload-labs Pass-18 解题详析


总结

以上为[网络安全]upload-labs Pass-19 解题详析,后续将分享[网络安全]xss-labs Pass-20 解题详析。

我是秋说,我们下次见。

目录
相关文章
|
4月前
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
278 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
4月前
|
网络安全 虚拟化
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
188 0
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
|
4月前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
175 0
|
4月前
|
安全 Java 网络安全
【网络安全 | 扫描器】御剑安装及使用教程详析
【网络安全 | 扫描器】御剑安装及使用教程详析
956 0
|
4月前
|
Web App开发 算法 网络安全
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
418 0
|
4月前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
229 0
|
4月前
|
网络安全
[网络安全]sqli-labs Less-26 解题详析
[网络安全]sqli-labs Less-26 解题详析
68 0
|
4月前
|
SQL 网络安全 数据库
[网络安全]sqli-labs Less-26a 解题详析
[网络安全]sqli-labs Less-26a 解题详析
62 0
|
4月前
|
SQL 网络安全
[网络安全]sqli-labs Less-25a 解题详析
[网络安全]sqli-labs Less-25a 解题详析
46 0
|
2天前
|
安全 算法 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第8天】本文将探讨网络安全与信息安全的重要性,以及如何保护个人和组织的信息资产。我们将讨论网络安全漏洞、加密技术、安全意识等方面的内容,并提供一些实用的建议和技巧来帮助读者提高他们的网络安全水平。无论你是个人用户还是企业管理员,都可以从本文中获得有关如何保护自己免受网络威胁的有用信息。
179 89