防范网站被黑 三招让你填补漏洞
【IT168 专稿】2006年1月8号,本频道发布的一则《省公安厅网站屡次被黑 前景堪忧》(相关链接:http://publish.it168.com/2007/0108/20070108013301.shtml)的震撼新闻,相信令很多网民都感到为之震惊。一周之内被黑数次,这对于专业的安全机构来说,绝对是一次"前无古人"的离谱事件。同时也不得不让众多站长们,也为自己的网站"捏上一把汗"。其实此次省公安厅网站被黑,无非是没有注意目前流行的服务器、网站入侵,所造成的严重后果。下面,笔者就给大家介绍三种目前流行的入侵方式,以及响应的防范措施。
一、服务器漏洞隐患所致
俗话说:"若要人不知,除非己莫为",为了使服务器上的重要信息不被泄露出去,并且还能省去高昂的托管资金,很多企业和商业机构的网站服务器,都是选用自己内部人员专职看守。但有时因其技术不足,免不了有时被黑客菜鸟所"嬉闹"。因而导致网站被改,也就不足为奇了。就常见的系统漏洞攻击,笔者做出了详细的列举及修复。
1.MS06-040远程溢出漏洞
主要源于Microsoft Windows的Server服务在处理RPC通讯中的恶意消息时存在溢出漏洞,远程攻击者可以通过发送恶意的RPC报文来触发这个漏洞,可导致系统执行任意代码。
防范方法:安装第三方防火墙软件,并且禁止本机通讯的TCP139和445端口,当然你也可以启用系统上的高级TCP/IP过滤,对其两个端口进行通讯屏蔽。另外微软已经对该漏洞已经发放了安全补丁,大家可以进入http://www.microsoft.com/technet/security/bulletin/ms06-040.mspx?pf=true进行安装修补。
2.MS06-055VML溢出漏洞
该漏洞危害涉及到Windows 2000以上几乎所有的操作系统,只要存在其漏洞的服务器,黑客可通过网上流行的VML漏洞网页木马制作工具,将所要包含的木马顺利加载到机器内。从而导致主机被恶意人远程遥控。
防范方法:这里有两种方式,一种是"老生常谈"到微软下载补丁(地址:http://www.microsoft.com/technet/secu-rity/bulletin/ms06-055.mspx),对此漏洞进行修补。另外一种可在CMD命令下,输入"regsvr32 -u %program Files % \Common Files\Microsoft Shared\VGX\vgx.dll",敲击"回车键"按钮,将黑客可利用的vgx.dll注册删除,也可同样防止VML网页木马的攻击。
3. MS06-067 IE溢出漏洞
MS06-067 IE溢出漏洞,全称"Microsoft IE对象实例化daxctle.ocx ActiveX堆溢出漏洞",远程攻击者可利用此漏洞在用户机器上执行任意指令,来对其主机进行远程控制。目前网上已经有利用该漏洞入侵的攻击工具,黑客只需把它生成的文件代码让受害者浏览,如果他的机器确实存在此漏洞,就会被挂上网站恶意木马,后果将不堪设想。
防范方法:将下文注册表项目粘贴至记事本中,然后将其保存为.reg注册表类型的文件,并且把它导入到注册表编辑器中,即可修复此漏洞。
[HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\internet Explorer\ActiveX Compatibility\{D7A7D7C3-D47F-11D0-89D3-00A0C90833E6}] "Compatibility Flags"=dword:00000400
也可从官方下载补丁文件,进行修复:http://www.microsoft.co.ke/china/technet/security/bulletin/MS06-067.mspx
二、脚本入侵攻击
脚本入侵是目前较为常见的攻击手段之一,据笔者调查显示现在仍有70%的网站,存在脚本注入的危险。恶意人一旦注入成功,可通过检测出的注入网址,来破解出网站的管理员口令及密码,从而可以进一步通过网站后台,实现遥控其网站前台的目的。如果你正为不知网站的某个文件,存在脚本注入漏洞而烦恼,可通过旁注WEB综合检测程序,在其界面"SQL注入"标签内,选择下方"批量扫描注点"按钮,然后将自己站点的网址添加进去,即可对其网站进行注入扫描。大家可按照检测出的注入址,"顺藤摸瓜"找到这些含有注入漏洞的文件,当然要想不被脚本入侵,你还需要把所检测到的漏洞文件,分别加载上以下防注代码,才可避免黑客的脚本入侵。
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
''---定义部份 头------
Fy_Cl = 1 ''处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "index.Asp" ''出错时转向的页面
''---定义部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"''")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
Case "1"
Response.Write "<Script Language=JavaScript>alert('' 出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 请不要在参数中出现:and,select,update,insert,delete,chr 等非法字符!\n\n我已经设置了不能SQL注入,请不要对我进行非法手段!'');window.close ();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href=''"&Fy_Zx&"''</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('' 出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 请不要在参数中出现:,and,select,update,insert,delete,chr 等非法字符!\n\n设计了门,非法侵入请离开,谢谢!'');location.href=''"&Fy_Zx&"'';</Script>"
End Select
Response.End
End If
End If
Next
%>
另外从网上下载SQL防止注入系统,将它安置到自己网站的目录下,同时也可成功预防黑客的脚本注入,以上两种"防注"方法大家可任选其中一种。
三、旁注入侵攻击
看标题顾名思义是从旁注入,也就是利用主机上面的一个虚拟站点进行渗透,得到我们所要得到的webshell,即它是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过其木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序等命令。
了解完以上旁注入侵攻击后,此时的你可能很担心自己网站的被人恶意旁注?殊不知下面所要的讲解正是你想要的"救命稻草"。这里在看管好自己网站和服务器的基础上,尽量不要架设多个网站,以防止因架设的其他站点漏洞,而牵扯到自己网站的安全。当然也许你为了节省服务器的开销,不得已与他人合伙共用一台网站服务器,那么为了防止黑客起初利用whois技术,查询服务器IP所绑定的其他域名,我们这里就需将域名先指向到另一个临时IP(前提是域名可以正常访问的)绑定一段时间被记录后,再将其转向到自己的服务器,这样当黑客再查的时候就不是你当前服务器里IIS站点的列表了,所以黑客的旁注入侵也就无从谈起。
结束语:就省公安厅网站被黑一事,黑客所运用的方法,逃脱不出这三种常见的攻击入侵。当然,防患于未然才是正途,我们也衷心的希望今后网站不会因为安全漏洞问题出现一再被黑的情况。