代碼審計:beescms 後臺上傳getshell復現

代碼審計:beescms 後臺上傳getshell復現

beescms

BEESCMS企業網站管理系統,SEO優化更快,無功能限制,後臺上手容易,各類行業模板供選擇使用!全面支持手機網站,電腦手機模板標籤全部通用,一個後臺管理,電腦、手機網站同步更新。
官網:http://www.beescms.com/
下載:https://www.mycodes.net/49/9318.htm

代碼審計

通過上一篇注入文章,我們拿到了管理員密碼,登錄後臺,尋找上傳點傳shell文件。
在這裏插入圖片描述
打開Seay,來到admin/upload.php文件,找到上傳函數。
在這裏插入圖片描述
檢查了上傳文件是否合法,實際上傳用的是up_img函數,跟進函數。
在這裏插入圖片描述

if(!in_array(strtolower($file_type),$type)){
			msg('上傳圖片格式不正確');
		}

這裏檢查了上傳文件的type,如果type不在白名單裏,就直接提示出錯,我們可以修改文件類型繞過。

$up_file_name=empty($pic_alt)?date('YmdHis').rand(1,10000):$pic_alt;
$up_file_name2=iconv('UTF-8','GBK',$up_file_name);
$file_name=$path.$up_file_name2.'.'.$pic_name['extension'];

從上面可以看出,並沒有做任何檢查就直接取了$file[‘name’](就是我們上傳時候的文件名)的後綴來給新生成的文件。
所以我們只要僞造合法的type就能上傳shell文件。

上傳getshell

來到上傳點,上傳shell文件抓包,修改type類型爲image/png,即圖片類型繞過。
在這裏插入圖片描述
在這裏插入圖片描述
蟻劍連接一句話php文件即可。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章