先来说说我是咋判断一台windows服务器上的mysql有没有降权的. 0.0如果能运行cmd的话,我会先看看有啥用户先,如果有mysql mssql这样用户名,或者类似的.我就会猜测他的mssql服务或者mysql的已经被降权运行了.但并不代表不能提权,只要能运行cmd..
接着说一下,判断服务器上是否开启了mysql服务. 一般在拿到webshell的时候,都会扫描一下端口,如果开启了3306端口的话,我会telnet 过去看看- -.忘了有无回显~(提权的时候,大多数 3306端口的都是不支持外链的.呃,我遇到的大多数是这样, 有root可以开启外链.) 当然也有一些管理员会把mysql的默认端口改掉.另外一个判断的方法就是网站是否支持php,一般支持php的网站都用mysql数据库的.php+mysql啊,好基友啊好丽友- -~(当然,也有一些网站用其他的一些更专业的数据库).
再说说如何查找mysql root的密码.
MYSQL所有设置默认都保存在“C:\Program Files\MYSQL\MYSQL Server 5.0\data\MYSQL”中,也就是安装程序的data目录下,如图2所示,有关用户一共有三个文件即user.frm、user.MYD和 user.MYI,MYSQL数据库用户密码都保存在user.MYD文件中,包括root用户和其他用户的密码。
User.frm user.myd User.myi
这几个文件.在webshell下,下载下来,解密.用c32asm或者其他的一些文本编辑器user.MYD打开.
A30F80616A023BDFC9
复制到cmd5.com那查一下,或者用cain爆破一下.
打开后使用二进制模式进行查看,如图所示,可以看到在root用户后面是一串字符串,选中这些字符串将其复制到记事本中,这些字符串即为用户加密值,即A30F80616A023BDFC9 。
具体使用cain破解的,我这就不演示了
还有一个查找的方法就是,一些php网站安装的时候用的是root用户,例如dedecms,他数据库安装的信息就是写在data/common.inc.php
select count(*),分组列 from 表名 group by 分组列 having flag=1按分组列分组,返回组中含flag=1的记录数
例子:
id 省份 flag
1河北1
2河北2
3河南2
4河南2
select count(*),省份 from 表名 group by 省份 having flag=1
得出结果为
河北 flag含1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)