許多時候,我們都會使用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目錄下目錄創建權限。