Web系统安全分析报告
编 写 人:
编写时间:2013。8.1
部 门 名:技术部—-测试组
                       
Web系统安全概述
    随着互联网的迅猛发展,web应用的数量急剧增加.与此同时,web站点被攻击的现象呈逐年上升趋势,这主要由于多数站点所提供的安全服务有限,使得web系统的安全性非常脆弱,存在很多的安全漏洞。而这些漏洞的存在,使得web应用程序很容易被攻击者利用,进而破坏web系统的安全性。
web服务器又被称为
Web安全漏洞可以分为两类:
第一类是web服务器程序存在的安全漏洞,如:IIS、Apache或Netscape Server存在的漏洞。
第二类是web应用程序存在的漏洞,这主要是因为程序员在使用ASP、Perl等脚本对web系统进行的编程过程中,由于缺乏安全意识或有着不良的编程习惯,最终导致程序出现可能被利用的漏洞。
注:  第一类的安全漏洞可以通过对服务器进行定期的检查,维护来防止安全漏洞的出现。所以本报告主要对第二类的web安全漏洞进行分析。
Web攻击的分类
对于web应用程序存在的漏洞,攻击者针对不同的安全威胁有相对应的攻击方式,主要可分为两大类:
一、基于用户输入的攻击
根据国际组织OWASP统计,排在前两位的web攻击手段分别是脚本注入攻击(SQL injection)和跨站脚本攻击(CSS/XSS),这两者均属于网站未对用户输入进行安全验证而导致的结果.
二、基于会话状态的攻击
web应用程序在会话管理机制方面存在的缺陷,往往也会导致攻击者通过提升权限来对网站进行破坏.
Web攻击的分类分析
一、基于用户输入攻击
(1)SQL 注入攻击
脚本注入(SQL injection)指的是将SQL代码传递到一个并非开发人员所预期的服务程序中,试图操纵程序的数据库的攻击方式。产生SQL注入的大部分原因是因为应用程序没有对用户输入做严格的检查.通过脚本注入,攻击者不仅可以获取网站管理员权限,对网站进行肆意操作。而且攻击者可以上传木马程序,从而控制网站所在的服务器。虽然SQL注入攻击的危害很大。但是,程序员在系统的开发过程中,可从以下几个方面防范SQL注入攻击:
1、全面检查输入的参数设置
例如:如果要用户输入数值方面的数据时,必须确保在执行查询前,其输入的只是数值数据,
如果输入包含其他字母,符号等数据则一律拒绝查询,此外,还可以更进一步执行一些额外的检测,确保输入数值的长度合法、有效等。
2、加强执行SQL查询账户的权限管理