許多時候,我們都會使用mysqldoor來留住我們的伺服器權限,有時候也經常性的使用udf來進行提權,常常碰到這種情況,Can’t open shared library ‘mysqlDll_1278197415.dll’ 。
這裡使用的孤水饒城兄寫的UDF提權工具。如圖1。
先排除幾種可能.
1、被伺服器端的殺軟KILL。
2、沒寫入檔案。
3、由於腳本產生在system32目錄下的檔案名稱隨機,導致程式找不到檔案名稱。
1、我在本地進行測試,關閉了殺軟,所以這種情況不存在,排除。
2、打開system32目錄,生成出來的程式安安靜靜的躺在目錄下。圖2
1、做出第三種假設已經是排除前兩種可能的情況下,既然怕程序是問題,那我們手動創建吧。 (mysql5.0以上就不支援帶絕對路徑,所以生成在system32下)如圖3
如圖:4
去google了一番,網上還是沒有最終的答案,只找到一個比較好的文章,那就是ninty寫的那篇創建函數問題。可是琢磨一會還是沒看懂。最後,看到無名在線,他常年在php環境下,對mysql比較了解。
跟他討論以後,他給問題的解決方法是把udf放在mysql中的data目錄下。如圖:5
他在他的機器上可以成功,我這就是通過不了。最後,用QQ協助,讓他操作我的電腦,最後還是得不到解答,只能與好神奇來結束。
無奈下,到BK群求助,ninty說是路徑問題,後來加了Q,遠端以後,才得以解決。最後,總算明白他那篇文章,哈哈,這裡不要怪我哈,我把資料做個整理。
提權之前,確定mysql權限,要是4.0版本直接用路徑;要是5.0版本,放在system32目錄下還不行,就放在data,要是在5.1版本下,操作會比較麻煩。用
show variables like %plugin%;
只要把文件放在這個path下,就可以執行成功!但前提,你必須有mysql目錄下目錄建立權限。