Joomla是一套世界第二流行的內容管理系統。它使用的是PHP語言加上MySQL數據庫所開發的軟件系統,可以在Linux、 Windows、MacOSX等各種不同的平臺上執行,目前由開放源碼組織Open Source Matters進行開發與支持。
Joomla實際有兩個開源的東西:
1、Joomla內容管理系統即JoomlaCMS(Content Management System, CMS)。它是網站的一個基礎管理平臺,幾乎適合從個人網站到百貨銷售類型的各類網站。
2、Joomla Platform(Joomla框架)。理論上來說它幾乎無所不能,除了網站,還可以進行廣泛的web開發、手機應用開發等等。
如果您的網站是基于流行的Joomla內容管理系統,請確保您已將您的平臺更新到今天發布的最新版本。
正文:
漏洞描述:
項目: Joomla!
子項目: CMS
嚴重程度: 高
影響版本: 3.7.0
漏洞類型: SQL注入
CVE號碼: CVE-2017-8917
你是否遭遇了威脅?
Joomla 3.7版本后引入一個新的組件 “com_fields”,這一組件會引發易被利用的漏洞,并且不需要受害者網站上的高權限,這意味著任何人都可以通過對站點惡意訪問利用這個漏洞。
SQL注入發生的本質是對請求數據過濾不嚴,因此攻擊者在此有很多文章可以做——例如,泄露用戶的密碼哈希值(Hash)、登陸后的用戶的會話控制(在第二種情況下,如果是獲取到登陸后管理員的session,那么整個網站的后臺系統可能被控制)。
技術細節
com_fields組件從相同名稱的管理端組件中繼承一些視圖,它允許重復使用為另一方編寫的通用代碼,而不需要從頭來過。
從上面的代碼片段可以看出,$config['base_path']變量的值是由JPATH_COMPONENT_ADMINISTRATOR常量傳導過去的,該值代表管理員組件目錄的本地路徑。如此一來,Joomla可以根據這一路徑獲取視圖參數和模塊布局。
構建URL如下所示:
/index.php?option=com_fields&view=fields&layout=modal
view參數值:fields
layout參數值:modal
訪問此URL可以顯示站點上可用的所有自定義字段的列表。
唯一可以進入的管理員視圖是fields-這么做會從一個admin-side模型中抓取數據(我們前面講的 $ config ['base_path']變量)。
在這種情況下,基于MarchModelFields模型的
./administrator/components/com_fields/models/fields.php文件中包含了我們發現的那個漏洞。
這個罪魁禍首可以在getListQuery方法中找到。
對于那些不熟悉Joomla的人而言,“執行SQL語句查詢, $ query-> order() ” 這種方法,能做的真的只有將輸入內容接入一個查詢的ORDER BY語句中。
用戶進行輸入后會啟動list.fullordering狀態,因為FieldsModelFields模型是從JModelList類繼承而來的,它同樣也包含上面的代碼段。
你可能會注意到,它會對內容執行一些驗證,然后相應地設置list.direction和list.ordering,但是list.fullordering的情況如何呢?
在switch語句之后,不管它是否生成了一個有效的list.direction或list.ordering,我們都可以控制這行命令達到我們想要的值。
所以為了利用這個漏洞,攻擊者必須做的是為URL添加適當的參數,以便注入到SQL查詢?! ?/p> 人妻精品一区二区三区_好紧好湿好硬国产在线视频_亚洲精品无码mv在线观看_国内激情精品久久久
責任編輯:韓希宇
免責聲明:
中國電子銀行網發布的專欄、投稿以及征文相關文章,其文字、圖片、視頻均來源于作者投稿或轉載自相關作品方;如涉及未經許可使用作品的問題,請您優先聯系我們(聯系郵箱:cebnet@cfca.com.cn,電話:400-880-9888),我們會第一時間核實,謝謝配合。