利用mysql提权的前提就是,服务器安装了mysql,mysql的服务没有降权,是默认安装以系统权限继承的(system权限),并且获得了root的账号密码。
如何判断一台windows服务器上的mysql有没有降权?
cmd命令net user 如果存在 mysql mssql这样用户或者类似的,通常就是它的mssql mysql服务已经被降权运行了。
如何判断服务器上是否开启了mysql服务?
开了3306端口,有的管理员会把默认端口改掉;另一个判断方法就是网站是否支持php,一般支持的话都是用mysql数据库的。
如何查看root密码?
在mysql的安装目录下找到user.myd这个文件,root就藏在里面,一般是40位cmd加密,一些php网站安装的时候用的是root用户,在conn.asp config.asp这些文件里。有时会显得很乱,这时就需要自己去组合,前17位在第一行可以找到,还有23位在第三行或是其他行,自己继续找。
可以直接用php脚本里“mysql执行”,或是上传个UDF.php,如果网站不支持PHP,可以去旁一个php的站,也可以把UDF.php上传到别的phpshell上也可以。
填入帐号密码之后,自然就是安装DLL了,点击“自动安装Mysql BackDoor” 显示导出跟创建函数成功后,紧接着执行增加用户的命令即可。
注意:5.0版本以下(包括5.0的)默认c:\windows\系统目录就可以了,5.1版本以上的不能导出到系统目录下创建自定义函数,只能导出在mysql安装目录下的lib/plugin目录中。
例如:D:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/mysql.dll
如果密码看不见,或是组合不到40位,就本地安装一个mysql吧,
1、停止mysql服务
2、替换下载下来的3个文件(user.MYI user.MYD user.frm)
3、cmd切换到bin目录下,进入mysql安全模式,cmd命令:mysqld-nt --skip-grant-tables
4、重新打开一个cmd 切换到bin目录下,cmd命令:mysql -u root版本不同有可能是:mysql -uroot -proot
5、最后查询一下就出来了select user,password from mysql.user;
多读前辈的文章,受益非浅。
页:
1
[2]