Joomla!v3.7 SQL注入高危漏洞技術分析
近日,全球知名內容管理系統Joomla!爆出高危安全漏洞,任何能訪問網站的用戶都可以發起攻擊,竊取用戶會話和賬號密碼。
安全風險:嚴重
漏洞類型:SQL注入
影響版本:3.7
修復版本:3.7.1
CVE編號:CVE-2017-8917
漏洞描述
com_fields組件出現漏洞,com_fields組件是在3.7版本添加的,如果你使用此版本,將受到影響,並應儘快更新。這個組件可以公開訪問,意味著任何能訪問你站點的用戶都可以發起攻擊。
漏洞細節
從上圖的代碼可以看出,它使用JPATH_COMPONENT_ADMINISTRATOR常量值設置$config[ base_path ]變數,該值代表管理員組件目錄的本地路徑,當訪問的view是fields,layout是modal的時候,程序會從JPATH_ADMINISTRATOR中載入com_fields,這就意味著普通用戶可以通過這樣的請求來使用管理員的com_fields,構造URL如下所示:
/index.php?option=com_fields&view=fields&layout=modal
訪問此URL可以根據各種參數進行排序的站點上可用的所有自定義欄位的列表。
這是唯一可以訪問的管理員views欄位, 將從管理員models獲取數據(我們前面討論的$config[ base_path ])。在這種情況下,我們發現的漏洞位於.MarchModelFields模型(model)的./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://blog.sucuri.net/2017/05/sql-injection-vulnerability-joomla-3-7.html
※免殺新姿勢:利用線程將惡意代碼注入到內存中
※使用IDA動態調試WanaCrypt0r中的tasksche.exe
※知名Mac軟體被黑植入後門,連累更新用戶代碼被竊、慘遭勒索
※密碼安全國際新標:不再強制用戶定期修改密碼和使用複雜字元密碼
※黑客入侵Edmodo教育平台,竊取超7千萬教師、學生和家長賬戶信息
TAG:嘶吼RoarTalk |
※MySQL mmm_agent遠程代碼注入漏洞分析
※深入分析Microsoft Outlook漏洞CVE-2018-8587
※ThinkPHP 5.1.x SQL注入漏洞分析
※Memcached漏洞,DDoS記錄高達1.3 Tbps
※Microsoft Windows JET資料庫引擎堆溢出漏洞CVE-2018-1003分析
※Microsoft Outlook漏洞CVE-2018-0950分析
※Linux中create_elf_tables函數整型溢出漏洞分析(CVE-2018-14634)
※iOS 12.1.4還包括一個Live Photos漏洞修復
※BingoCloudOS V8.0 彈性漏洞掃描功能實踐
※Microsoft Windows CVE-2018-1040漏洞分析
※LaySNS_v2.2.0漏洞分析
※Intel官方對5月15號曝出的CPU側信道漏洞「ZombieLoad」的詳細技術分析(上)
※WordPress插件YITH WooCommerce Wishlist SQL注入漏洞
※蘋果推送 iOS 12.1.4,修復 Group FaceTime 安全漏洞
※Microsoft Edge瀏覽器曝嚴重漏洞CVE-2018-8235,泄露敏感數據!
※iOS/Android 漏洞:數以萬計App受影響!
※GandCrab v4.1勒索軟體及SMB漏洞利用傳播猜測分析
※iOS 12.1.4正式版更新 主要修復Group FaceTime的漏洞
※繞過nftables/PacketFilter防火牆過濾規則傳輸ICMP/ICMPv6數據包的漏洞詳解(上)
※Glibc堆漏洞利用基礎-深入理解ptmalloc2 part1