您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關CMS3.X任意文件下載漏洞是怎么樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
01簡介
RhinOS是一個使用最新功能開發網站的框架,可以為Web門戶提供最快的訪問和管理。RhinOSCMS對于網站管理功能十分強勁,內置允許使用數據庫進程和解析器模塊快速訪問數據庫,xml和其他資源,購物車,標簽和參數化文件,配置參數,Intranet訪問,數據庫會話,電子郵件發送,驗證碼安全系統,快速過濾,列表和詳細信息的模塊,功能可謂是非常之多了。RhinOSCMS的download.php文件存在任意文件下載漏洞,通過漏洞能夠下載任意的文件。
02環境搭建
RhinOS CMS下載地址為:https://sourceforge.net/projects/rhinos/。下載完成后,打開文件,一直點下一步就能夠完成安裝,如圖1所示。
圖1完成安裝
由于一些編碼原因,安裝成功后的的信息會顯示一些亂碼,如果使用西班牙語的系統就能正常顯示了。然后需要將httpd.conf中的端口修改為8080端口,修改端口是為了避免和WINDOWS本身一些服務沖突,http.conf所在路徑為:C:\rhinos\httpd\conf\httpd.conf。如圖2所示。
圖2httpd.conf所在路徑
右鍵編輯將文件中的80端口修改為8080端口,如圖3所示。
圖3修改端口
修改端口后需要重啟阿帕奇服務,重啟服務后訪問http://127.0.0.1:8080。就能夠訪問到已經搭建好的CMS了,如圖4所示。
圖4重啟阿帕奇服務后訪問
03漏洞代碼審計
漏洞存在于C:\rhinos\demo\admin\php\download.php中,在第30行代碼,能夠看到文件讀取的路徑拼接操作,如圖5所示。
圖5download.php
看到getParam(),查找這個方法是如何實現的。
這個函數存在于:C:\rhinos\demo\admin\php\connect.php。第88行,如圖6所示。
圖6connect.php
這個函數中獲取了”file”的參數,通過POST或者GET提交都是可以的。然后根據圖5所示第41行觸發文件讀取操作,如果控制參數file則能夠成為任意文件讀取漏洞或者為任意文件下載漏洞。
04漏洞復現
在復現之前需要找到從什么地方調用到了download.php,在經過測試之后發現通過這個URL提交就能夠利用漏洞下載到config.php文件,但是首先需要登錄后臺。URL如下:
http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=../config.php,如圖7所示。
圖7下載config.php
當然既然是任意文件下來漏洞肯定可以下載windows目錄下面的win.ini文件,使用URL為:
http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=../../../../Windows/win.ini。執行后就能夠下載文件了。如圖8所示。
圖8下載win.ini
05修復建議
根據前文的描述能夠看出,漏洞存在一定的危害。應該對于漏洞進行修復,關于如何去修復漏洞。
過濾點[.]要求用戶在url中不能回溯上級目錄。
正則嚴格判斷用戶輸入參數的格式,保證輸入參數的準確性。
將下載區獨立放在項目路徑外,分配每個下載資源固定的URL,不能是所有的下載資源都是統一的URL:
http://127.0.0.1:8080/admin/inicio.php?include=php/download.php&name=efe.php&file=文件名
上述就是小編為大家分享的CMS3.X任意文件下載漏洞是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。