SQL Server和MySQL的安全性分析
2008-08-30 11:07:41 来源:WEB开发网发送一个1个字节的内容为02的数据包,被探测的系统则会返回安装的mssql服务信息,这些信息包括:主机名称、实例名称、版本、管道名称以及使用的端口等。这个端口是微软自己使用,而且不象默认的1433端口那样可以改变,1434是不能改变的。一个典型的返回的信息如下:
ServerName;Sky;InstanceName;sky;IsClustered;No;Version;8.00.194;tcp;3341;np;skypipeMSSQL$XHT310sqlquery; 可以发现mssql的tcp端口改成了3341,为攻击者打开了方便之门!只要会一点socket编程知识,很容易就可以写出扫描mssql服务的程序,而且,由于利用了udp端口,一般的过滤是很难防范的。 补天的awen写了个探测程序,用的是c#语言,代码如下:
usingSystem;
usingSystem.Net.Sockets;
usingSystem.Net;
usingSystem.Text;
usingSystem.Threading;
namespaceConsoleApplication3
{
classClass1
{
//创建一个UDPCLIENT实例
privatestaticUdpClientm_Client;
//LISTEN用来获取返回的信息
publicstaticstringListen(stringhostip)
{
stringHostIP=hostip;
IPAddressthisIP=IPAddress.Parse(HostIP);
IPEndPointhost=newIPEndPoint(thisIP,1434);
byte[]data=m_Client.Receive(refhost);
EncodingASCII=Encoding.ASCII;
StringstrData=ASCII.GetString(data);
returnstrData;
}
//SEND
publicstaticvoidSend(stringhostip)
{
stringHostIP=hostip;
byte[]buffer={02};
//02为要发送的数据,只有02、03、04有回应
intecode=m_Client.Send(buffer,1,HostIP,1434);
//ecode用来返回是否成功发送
if(ecode<=0)
{
Console.WriteLine("发送时出错:"+ecode);
}
}
//对返回的信息的简单的处理
publicstaticvoidOutputInfo(stringstrdata)
{
stringstr=strdata;
//str.le
char[]that={‘;‘,‘;‘};
string[]strofthis=str.Split(that);
//inti=0
for(inti=0;i{
Console.Write(strofthis);
Console.Write(‘
‘);
}
}
//输入IP
publicstaticstringInputHostIP()
{
Console.Write("entertheipyouwanttoscan:
");
stringhostip=Console.ReadLine();
Console.Write(‘
‘);
returnhostip;
}
//EXIT
publicstaticvoidExit()
{
Console.WriteLine("ifyouwanttoexit,justinput1
");
inta=Console.Read();
if(a!=1)
{
Console.WriteLine("ifyouwanttoexit,justinput1
");
Console.Read();
}
else
{
}
}
[STAThread]
staticvoidMain(string[]args)
{
stringHostIP;
HostIP=InputHostIP();
Console.WriteLine("Begintosendudptothehost");
m_Client=newUdpClient();
Send(HostIP);
stringstrData=Listen(HostIP);
OutputInfo(strData);
Exit();
}
}
}
- ››sql server自动生成批量执行SQL脚本的批处理
- ››Mysql高性能备份方案解决数据不间断访问
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››mysql 定时更新表字段列的值状态(存储过程+定时任...
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››MySQL 生成随机密码
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››mysql创建新用户的命令
- ››MySql Blob图片类型存储Bug解决:索引超出了数组界...
更多精彩
赞助商链接