當前位置:
首頁 > 新聞 > Joomla!3.7.0 SQL注入攻擊漏洞分析

Joomla!3.7.0 SQL注入攻擊漏洞分析


Joomla是一套世界第二流行的內容管理系統。它使用的是PHP語言加上MySQL資料庫所開發的軟體系統,可以在Linux、 Windows、MacOSX等各種不同的平台上執行,目前由開放源碼組織Open Source Matters進行開發與支持。


作者 | Shun


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查詢。

修復建議


升級最新版完整安裝包或升級補丁包


https://downloads.joomla.org/cms/joomla3/3-7-1


*參考來源sucuri blog本文作者Shun,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

利用HSTS嗅探瀏覽器歷史紀錄的三個漏洞
看我如何偽裝成APT28進行假冒攻擊
WannaCry勒索病毒中的愚蠢Bug,贖金打水漂可能正是該漏洞所致
10款中小企業必備的開源免費安全工具

TAG:FreeBuf |

您可能感興趣

LaySNS_v2.2.0漏洞分析
深入分析Microsoft Outlook漏洞CVE-2018-8587
ThinkPHP 5.1.x SQL注入漏洞分析
Microsoft Outlook漏洞CVE-2018-0950分析
CVE-2018-6376:Joomla!二階SQL注入漏洞
Linux中create_elf_tables函數整型溢出漏洞分析(CVE-2018-14634)
Microsoft Windows CVE-2018-1040漏洞分析
iOS 12.1.4還包括一個Live Photos漏洞修復
Microsoft Windows JET資料庫引擎堆溢出漏洞CVE-2018-1003分析
Intel漏洞惹禍:Ubuntu 16.04.4 LTS版推遲發布
價值10000美元的Tesla Model 3 XSS漏洞
蘋果今日推送iOS12.1.4 修復了Group Face Time漏洞
蘋果推送 iOS 12.1.4,修復 Group FaceTime 安全漏洞
Microsoft Edge瀏覽器曝嚴重漏洞CVE-2018-8235,泄露敏感數據!
VirtualBox虛擬機最新逃逸漏洞E1000 0day詳細分析(下)
CVE-2018-4878 Flash 0day漏洞攻擊樣本解析
VirtualBox虛擬機最新逃逸漏洞E1000 0 day詳細分析(上)
CVE-2019-0797 windows 0-day 漏洞分析
CVE-2019-0708漏洞:RDP=Really DO Patch?
CVE-2019-11815:Linux kernel漏洞