欢迎你光临天络科技
广州站:020-85533446
深圳站:0755-88291481
400-800-4428

常见的网站安全漏洞及解决方案

         一、常见网站安全漏洞
         1、SQL注入漏洞
         SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
         SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以市面的防火墙都不会对SQL注入发出警报,如果管理员没查看ⅡS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。
         2、跨站脚本漏洞
         跨站漏洞是由于程序员在编写程序时对用户提交的数据没有做充分的合规性判断和进行HTML编码处理,直接把数据输出到浏览器客户端,这样导致用户可以提交一些特意构造的脚本代码或HTML标签代码,并在输出到浏览器时被执行。黑客利用跨站漏洞输入恶意的脚本代码,当恶意的代码被执行后就形成了所谓的跨站攻击。一般来说对于人机交互比较高的程序,比如论坛,留言板这类程序都比较容易进行跨站攻击。
         跨站脚本漏洞
         利用跨站漏洞黑客可以在网站中插入任意代码,这些代码的功能包括获取网站管理员或普通用户的cookie,隐蔽运行网页木马,甚至格式化浏览者的硬盘,只要脚本代码能够实现的功能,跨站攻击都能够达到,因此跨站攻击的危害程度丝毫不亚于溢出攻击。
         跨站脚本攻击
         XSS类型包括:
        (1)非持久型跨站:即反射型跨站脚本漏洞,是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。
        (2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript代码。
        (3)DOM跨站(DOM XSS):是一种发生在客户端DOM(Document Object Model文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。
         3、文件上传漏洞
         文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
         文件上传漏洞
         文件上传漏洞的防御,主要围绕一开始提到的几点,一是文件上传路径,二是文件访问权限,三是文件执行权限。并且由于业务关系,根据所上传文件的类型也需要进行不同的防御。一种方法是将用户上传的文件都放到指定的目录中,同时在服务器配置中设定该目录下的所有文件不可执行。
         4、默认口令、弱口令漏洞
         弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则
        (1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
        (2)口令长度不小于 8 个字符。
        (3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。
        (4)口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。
        (5)至少 90 天内更换一次口令,防止未被发现的入侵者继续使用该口令。
          5、IIS短文件/文件夹漏洞
          IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件。击者可以利用该漏洞猜解后台地址和敏感文件甚至直接下载对应文件,或对IIS服务器中的.Net Framework进行拒绝服务攻击。
          二、解决方案
          强烈提出下面几条建议:
          1)在服务器与网络的接口处配置防火墙,用于阻断外界用户对服务器的扫描和探测。
          2)限制网站后台访问权限,如:禁止公网IP访问后台;禁止服务员使用弱口令。
          3)对用户输入的数据进行全面安全检查或过滤,尤其注意检查是否包含SQL 或XSS特殊字符。这些检查或过滤必须在服务器端完成。
          4)限制敏感页面或目录的访问权限。