錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務技術文章
SQL 注入 (CVE-2017-8917)漏洞分析Joomla! 3.7 Core

作者: 佚名  日期:2017-05-18 20:14:16   來源: 本站整理

Author: p0wd3r (知道創(chuàng)宇404安全實驗室)

Date: 2017-05-18

0x00 漏洞概述

漏洞簡介

Joomla于5月17日發(fā)布了新版本3.7.1,( https://www.joomla.org/announcements/release-news/5705-joomla-3-7-1-release.html ),本次更新中修復一個高危SQL注入漏洞( https://developer.joomla.org/security-centre/692-20170501-core-sql-injection.html ),成功利用該漏洞后攻擊者可以在未授權的情況下進行SQL注入。

漏洞影響

未授權狀態(tài)下SQL注入

影響版本: 3.7.0

0x01 漏洞復現(xiàn)

Joomla 在 3.7.0 中新增了一個 com_field 組件,其控制器的構造函數(shù)如下,在 components/com_fields/controller.php 中:

可以看到當訪問的 view 是 fields , layout 是 modal 的時候,程序會從 JPATH_ADMINISTRATOR 中加載 com_fields ,這就意味著普通用戶可以通過這樣的請求來使用管理員的 com_fields 。

接下來我們看管理員的 com_fields 組件,我們來到 administrator/components/com_fields/models/fields.php ,其中的 getListQuery 的部分代碼如下:

程序通過 $this->getState 取到 list.fullordering ,然后使用 $db->escape 處理后傳入$query->order 函數(shù),mysqli的 escape 函數(shù)代碼如下:

這里調用 mysqli_real_escape_string 來轉義字符,該函數(shù)具體作用如下:

僅對單雙引號等字符進行轉義,并未做更多過濾。另外 $query->order 函數(shù)的作用僅僅是將數(shù)據(jù)拼接到 ORDER BY 語句后,也并未進行過濾,所以如果 list.fullordering 可控,那么就可以進行注入。

我們可以看到 list.fullordering 是一個 state , state 會在視圖的 display 函數(shù)中進行設置:

跟進這個設置過程,程序會走到 libraries/legacy/model/list.php 中的 populateState 函數(shù)中,具體的調用棧如下:

該函數(shù)中有如下一段代碼:

if ($list = $app->getUserStateFromRequest($this->context . '.list', 'list', array(), 'array'))  
{
    foreach ($list as $name => $value)
    {
        // Exclude if blacklisted
        if (!in_array($name, $this->listBlacklist))
        {

            ...

            $this->setState('list.' . $name, $value);
        }
    }
}

程序通過 $app->getUserStateFromRequest 取到一個 $list 數(shù)組 ,如果數(shù)組的key不在黑名單中,則遍歷該數(shù)組對相應 state 進行注冊, getUserStateFromRequest 的代碼如下:

結合前面的調用來看,我們可以通過請求中的參數(shù) list 來設置 $list 變量,因此我們訪問 http://ip/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(2,concat(0x7e,(version())),0) 并開啟動態(tài)調試動態(tài)調試,結果如下:

可以看到 list.fullordering 已經(jīng)被我們控制。

回到 getListQuery ,該函數(shù)會在視圖加載時被自動調用,具體函數(shù)調用棧如下:

所以我們的payload也就通過 getState 傳入了這個函數(shù),最終導致SQL注入

0x02 補丁分析

改為取 list.ordering 和 list.direction 作為查詢的參數(shù),這兩個參數(shù)在 populateState函數(shù)中做了如下處理:

如果值不在指定范圍內則將其更改為默認值,因此無法再將payload帶入。

0x03 參考

https://www.seebug.org/vuldb/ssvid-93113

https://blog.sucuri.net/2017/05/sql-injection-vulnerability-joomla-3-7.html

https://developer.joomla.org/security-centre/692-20170501-core-sql-injection.html

https://www.joomla.org/announcements/release-news/5705-joomla-3-7-1-release.html



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設置,IT服務外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設置,數(shù)據(jù)恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 无码中文字幕日韩专区 | 国产AV无码专区亚汌A√| 日韩精品无码久久一区二区三| 亚洲Av无码国产一区二区| 人妻无码久久久久久久久久久 | 无码丰满熟妇浪潮一区二区AV| 免费无码av片在线观看| 亚洲一区二区三区无码国产 | 无码国产精品一区二区免费3p | 亚洲美日韩Av中文字幕无码久久久妻妇 | 无码视频免费一区二三区| 亚洲日韩精品A∨片无码| 精品久久久久久无码人妻中文字幕| 亚洲成AV人片在线播放无码| 免费a级毛片无码a∨蜜芽试看| 国产成人精品无码一区二区| 亚洲av麻豆aⅴ无码电影| 无码国产精品一区二区免费式直播 | 精品无码一区二区三区水蜜桃| 毛片免费全部播放无码| 成人无码A区在线观看视频| 免费无码黄动漫在线观看| 亚洲熟妇无码一区二区三区导航| 久久久久无码国产精品一区| 夜夜精品无码一区二区三区| 国模无码视频一区| 成人免费一区二区无码视频| 亚洲精品无码成人| 亚洲一区AV无码少妇电影| 亚洲av无码成人影院一区 | 无码视频一区二区三区| 人妻av中文字幕无码专区| 无码狠狠躁久久久久久久| 伊人久久精品无码麻豆一区| 亚洲熟妇无码一区二区三区| 熟妇人妻无码xxx视频| 无码不卡中文字幕av| 超清无码一区二区三区| 亚洲日韩精品无码一区二区三区| 久久精品无码一区二区三区| 无码AV波多野结衣久久|