数据库提权的前提就是得到数据库的账号密码。在webshell或本地进行提权。
数据库提权分为四步:
1.服务探针,探测出数据库的类型(端口扫描等)
2.信息搜集,就是获取到数据库的账号密码。权限要高。
读取数据库密码的方法
a.读取网站数据库配置文件 翻一些网站源码文件,一般是sql,data,ini ,config,database 等等
(但是在实战中,翻出来的用户名和密码不是root。)
b.读取数据库储存或备份文件
我们得到数据库账号密码的方式有很多种,这里我们利用mysql数据库的特性,我们进入C:\phpStudy\MySQL\data\mysql\user.MYD
拿去cmd5解码就行
c.爆破账户密码。(一般需要数据库开启外联),不然你的脚本作为客户端去爆破服务器的mysql,属于远程。对方数据库不开启外联。就没作用。mysql root 一般默认不开启外联。
但是可以下载mysql数据库爆破脚本,因为已经得到了websehll,把脚本上传到服务器进行运行和爆破,那么就属于服务器本机爆破。即使不开启外联。也是可以的
这里复现以下UDF提权
UDF提权的原理就是调用mysql命令执行函数。就是借用数据库的自身命令来调用系统命令
UDF提权就是将dll文件导入目录,然后执行sql语句创建一个可以执行系统命令的函数。
UDF提权有条件。版本和目录
mysql<5.1 导出目录 C:/windows 或 system32
mysql=>5.1 导出安装目录 /lib/plugin/ 没有plugin目录需要自己创建
得到数据库密码后
这里用的是蚁剑
select version();
查版本
>5.1 导出安装目录
导出安装目录 /lib/plugin/ 没有plugin目录需要自己创建
创建后导入dll文件
dll文件在sqlmap里面有,目录是
sqlmap\data\udf\mysql\windows
这里给他编译一下
进入