WEB开发网
开发学院数据库MySQL SQL Server和MySQL的安全性分析 阅读

SQL Server和MySQL的安全性分析

 2008-08-30 11:07:41 来源:WEB开发网   
核心提示: 发送一个1个字节的内容为02的数据包,被探测的系统则会返回安装的mssql服务信息,SQL Server和MySQL的安全性分析(4),这些信息包括:主机名称、实例名称、版本、管道名称以及使用的端口等,这个端口是微软自己使用, 补天的awen写了个探测程序,用的是c#语言,而且不象默认的1

发送一个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();
  }
  }
  }

上一页  1 2 3 4 5  下一页

Tags:SQL Server MySQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接