文件上传 安鸾 Writeup


目录

Nginx解析漏洞

文件上传01

  • 题目URL:http://www.whalwl.site:8024/
    进入后台找个上传点。
    因为只是Javascript限制上传格式,所以只需先上传一张正常图片再使用burp sutie抓包改包即可:
    <script type="text/javascript">
        function checkFile() {
            var file = document.getElementsByName('upfile')[0].value;
            if (file == null || file == "") {
                alert("你还没有选择任何文件,不能上传!");
                return false;
            }
            //定义允许上传的文件类型
            var allow_ext = ".jpg|.jpeg|.png|.gif|.bmp|";
            //提取上传文件的类型
            var ext_name = file.substring(file.lastIndexOf("."));
            //alert(ext_name);
            //alert(ext_name + "|");
            //判断上传文件类型是否允许上传
            if (allow_ext.indexOf(ext_name + "|") == -1) {
                var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
                alert(errMsg);
                return false;
            }
        }
    </script>

image

  • 最后shell地址就是:
    http://www.whalwl.site:8024/upload/payload_1.php

文件上传02

题目URL:http://whalwl.site:8025/

upload.php 源码

<?php

header("Content-type: text/html;charset=utf-8");
error_reporting(0);

$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
    $ext_arr = array('jpg','png','gif');
    $file_ext = substr($_FILES['upload_file']['name'],strrpos($_FILES['upload_file']['name'],".")+1);
    if(in_array($file_ext,$ext_arr)){
        $temp_file = $_FILES['upload_file']['tmp_name'];
        $img_path = $_POST['file_path'].rand(10, 99).date("YmdHis").".".$file_ext;

        if(move_uploaded_file($temp_file,$img_path)){
            $is_upload = true;
        }
        else{
            $msg = "上传失败";
        }
    }
    else{
        $msg = "只允许上传.jpg|.png|.gif类型文件!";
    }
}
?>
  • 可以看到虽然对文件名做了限制重命名,但文件路径“file_path”却未限制并且可控:
    我们利用 00 截断
    利用 Burp suite
    images/2.php%00
    %00选中进行编码 改成 images/2.php[二进制00]形式

image

image

  • 最后shell地址:
    http://whalwl.site:8025/images/2.php

所用的图片一句话木马:

点我下载图片一句话木马

posted @ 2021-08-14 17:06  jzking121  阅读(488)  评论(0编辑  收藏  举报