代碼審計:beescms 登錄框注入復現

代碼審計:beescms 登錄框注入復現

beescms

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

環境搭建

下載源碼,我下載的是最新版BEES_4.0_R_20160525,使用phpstudy搭建。
搭建好後,來到後臺登錄頁面。
在這裏插入圖片描述
試了一下,這裏的驗證碼只要不刷新是不變的,存在暴力破解的可能,我們可以使用bp去跑字典。
但是我們的重點是注入,用戶名輸入admin’,報錯。
在這裏插入圖片描述
應該有注入,打開我們的Seay開始動手審計。

代碼審計

來到登錄頁admin/login.php,定位到 ‘ok_login’ 位置。
在這裏插入圖片描述
發現有過濾函數fl_html()和fl_value(),跟進函數。
在這裏插入圖片描述
flvalue()對輸入的關鍵字進行了過濾,可以看到,幾乎常用的SQL關鍵字都被過濾掉了,但是我們可以通過雙寫關鍵字繞過。

fl_value()則是使用htmlspecialchars(()函數對字符進行轉義,將特殊字符用引用實體替換,但是它採用的是默認參數,僅編碼雙引號,所以對於’不會過濾。

通過兩個過濾函數後,參數傳進了check_login()函數,跟進。
在這裏插入圖片描述
可以看到只是函數功能只是最後的帶入查詢和驗證密碼,沒有過濾了。

漏洞利用

明白過濾規則後,就可以構造各種注入繞過了。
例如一個直接爆後臺密碼的playload(本地phpstudy測試):

admin' uni union on selselectect 1,2,3,4,5'' in into outoutfilefile 'D:/phpStudy/WWW/BEES_4.0/a.php' #

執行後會在根目錄下生成a.php文件,裏面就是bees_admin表的內容,直接得到管理員的密碼登錄後臺。
在這裏插入圖片描述
在這裏插入圖片描述

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