Web 应用是指采用B/S 架构、通过HTTP/HTTPS 协议提供服务的统称。随着互联网的广泛使用,Web 应用已经融入到日常生活中的各个方面:网上购物、网络银行应用、证券股票交易、政府行政审批等等。在这些Web 访问中,大多数应用不是静态的网页浏览,而是涉及到服务器侧的动态处理。此时,如果Java、 PHP、ASP 等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,会导致Web 应用安全问题层出不穷。 本文根据当前Web 应用的安全情况,列举了Web 应用程序常见的攻击原理及危害,并给出如何避免遭受Web攻击的建议。 1 Web 应用漏洞原理 Web 应用攻击是攻击者通过浏览器或攻击工具,在URL 或者其它输入区域(如表单等),向Web 服务器发送特殊请求,从中发现Web 应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。 1.1 Web 应用的漏洞分类 1、信息泄露漏洞 信息泄露漏洞是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。 造成信息泄露主要有以下三种原因: Web 服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中; Web 服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚本文件源码; Web 网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的数据。 2、目录遍历漏洞 目录遍历漏洞是攻击者向Web 服务器发送请求,通过在URL 中或在有特殊意义的目录中附加“../”、或者附加“../”的一些变形(如“..\”或“..// ”甚至其编码),导致攻击者能够访问未授权的目录,以及在 Web 服务器的根目录以外执行命令。 3、命令执行漏洞 命令执行漏洞是通过URL 发起请求,在Web 服务器端执行未授权的命令,获取系统信息,篡改系统配置,控制整个系统,使系统瘫痪等。 命令执行漏洞主要有两种情况: 通过目录遍历漏洞,访问系统文件夹,执行指定的系统命令; 攻击者提交特殊的字符或者命令,Web 程序没有进行检测或者绕过Web 应用程序过滤,把用户提交的请求作为指令进行解析,导致执行任意命令。 4、文件包含漏洞 文件包含漏洞是由攻击者向Web 服务器发送请求时,在URL 添加非法参数,Web 服务器端程序变量过滤不严,把非法的文件名作为参数处理。这些非法的文件名可以是服务器本地...