您现在的位置: 首页php+mysql>正文
旁注时MYSQL+root权限提权入侵渗透服务器
2011年01月09日 php+mysql 暂无评论

1.得到webshell或者能远程连接服务器的mysql(root)密码,这是以下所有步骤的基础;

2.上传一个su.php,百度搜搜看,好像还有人写了一个叫做“mysql后门自动安装工具”的东西;

3.用得到的root密码填入到su.php,然后导出udf.dll;

这里说几个细节,确定你要入侵的服务器系统类型,一般是windows 2000或者2003吧?2000导出到winnt,2003导出到windows目录,或者什么都不填写,直接在导出路径那里填写udf.dll

4.是否导出成功?如果没有导出成功,把路径换一下,换成c:\\windows\\system32\\udf.dll,也就是换成双斜杠试试;

5.导出成功后,在下面的命令输入框里依次输入如下命令:

create function cmdshell returns string soname 'udf.dll' 如果是mysql5以上版本,注意这里不要带任何路径,直接这样填写就OK了
select cmdshell('net user matrix 123456 /add');   添加一个matrix名称的系统用户
select cmdshell('net localgroup administrators matrix /add');   加入到管理员组别

当然su.php还有其他的一些函数可以选择,如下:

   cmdshell 执行cmd;
   downloader 下载者,到网上下载指定文件并保存到指定目录;
   open3389 通用开3389终端服务,可指定端口(不改端口无需重启);
   backshell 反弹Shell;
   ProcessView 枚举系统进程;
   KillProcess 终止指定进程;
   regread 读注册表;
   regwrite 写注册表;
   shut 关机,注销,重启;
   about 说明与帮助函数;

你可以通过输入select open3389('help');  来查看如何开启3389 或者通过select shut('help'); 来看如何重启和关闭服务器(注意:需要先create function  ***该函数,才能select调用);

一些常见的问题:

1.比较多的就是导出udf.dll时候遇到的各种问题,个人经验是直接填写udf.dll,不填写路径,成功几率会高很多;

2.执行select的时候出现问题,查看你前面的create是否成功,该函数是否已经正常建立?如果提示cmdshell already exist,你还没法执行的话,那就drop function cmdshell,再重新create,然后再试试;

3.如果还不行呢?RP问题?你可以浏览下盘符,看是否是mysql5.2以上的版本,如果是的话,找到mysql的安装目录,心里祈祷不要在c盘吧,因为mysql5.2以上版本,udf.dll需要导出到mysql\lib\plugin\目录下去...要是在c盘,没有写入权限,阿门,可怜的孩子...;

4.如果还不行?可是你非要黑了他!好吧,matrix看着你无比坚毅的眼神,对你说:执行命令select output一个添加用户的VBS文件到系统的启动项去,等着系统重启吧,或者你有其他办法让他重启?默默祈祷管理员不要发现它吧,阿门;

5.你抓狂的告诉matrix还不行?RP有问题,可怜的兄弟,转行吧,杀猪比较适合你...=  =

我是站长,如何修补该漏洞?

matrix想跟你说的话:

1.root密码设置复杂点,另外没事不要用他登录mysql,免得被嗅探或者窃取;

2.自己先黑自己一把,把udf.dll导入到系统目录(windows和system32下都复制一个),然后把权限设置为system独享,其他用户无任何操作权限;

3.如果你喜欢折腾的话...把系统目录搬到其他盘符,然后再把系统盘所有目录的权限设置一下,再装上一个McAfee监控网站目录,保管你风调雨顺,万事无忧;

4.打完收工;

mysql+root权限+webshell+su.php提权入侵服务器

给我留言