这些趋势带来的问题就是:Web应用程序和服务的增长已超越了程序开发人员所接受的安全培训和安全意识的范围。Web应用系统的安全风险达到了前所未有的高度。本文详细剖析了Web应用中的常见漏洞及攻击方式,全面分析Web应用系统的安全风险。
Web应用系统是由操作系统和Web应用程序组成的。许多程序员不知道如何开发安全的应用程序,他们没有经过安全编码的培训。他们的经验也许是开发独立应用程序或企业 Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。
Web应用的大多数安全问题都属于下面三种类型之一:
◆服务器向公众提供了不应该提供的服务,导致存在安全隐患。
◆服务器把本应私有的数据放到了公开访问的区域,导致敏感信息泄露。
◆服务器信赖了来自不可信赖数据源的数据,导致受到攻击。
许多Web服务器管理员从来没有从另一个角度来看看他们的服务器,没有对服务器的安全风险进行检查,例如使用端口扫描程序进行系统风险分析等。如果他们曾经这样做了,就不会在自己的系统上运行那么多的服务,而这些服务原本无需在正式提供Web服务的机器上运行,或者这些服务原本无需面向公众开放。另外他们没有修改对外提供服务的应用程序的banner信息,使攻击者容易获取到Web服务器对外提供应用程序的相关版本信息,并根据信息找到相对应的攻击方法和攻击程序。
许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接绕过了周边防火墙安全措施,因为端口80或 443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。Web应用安全存在非法输入、失效的访问控制、失效的账户和线程管理、跨站脚本攻击、缓冲区溢出、注射攻击、异常错误处理、不安全的存储、拒绝服务攻击、不安全的配置管理等问题。Web应用程序攻击包括对应用程序本身的DoS(拒绝服务)攻击、改变网页内容、SQL注入、上传Webshell以及获取对Web服务的控制权限等。