<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    phpMyAdmin 4.0.x—4.6.2 遠程代碼執行漏洞(CVE-2016-5734)

    Path phpmyadmin/CVE-2016-5734

    phpMyAdmin是一套開源的、基于Web的MySQL數據庫管理工具。在其查找并替換字符串功能中,將用戶輸入的信息拼接進preg_replace函數第一個參數中。

    在PHP5.4.7以前,preg_replace的第一個參數可以利用\0進行截斷,并將正則模式修改為e。眾所周知,e模式的正則支持執行代碼,此時將可構造一個任意代碼執行漏洞。

    以下版本受到影響:

    • 4.0.10.16之前4.0.x版本
    • 4.4.15.7之前4.4.x版本
    • 4.6.3之前4.6.x版本(實際上由于該版本要求PHP5.5+,所以無法復現本漏洞)

    環境搭建

    運行如下命令啟動PHP 5.3 + Apache + phpMyAdmin 4.4.15.6:

    docker-compose up -d 
    

    啟動后,訪問http://your-ip:8080,即可看到phpMyAdmin的登錄頁面。使用root:root登錄。

    漏洞復現

    這個功能需要登錄,且能夠寫入數據。

    因為目標環境使用root,所以我們可以創建一個臨時數據庫和數據表,進行漏洞利用。這里,我們使用POC https://www.exploit-db.com/exploits/40185/ 來復現漏洞。

    ./cve-2016-5734.py -c 'system(id);' -u root -p root -d test http://your-ip:8080/
    

    -d是已經可以寫的數據庫,-c是待執行的PHP語句,如果沒有指定表名,這個POC會創建一個名為prgpwn的表。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类