Web安全测试规范V.doc

上传人:b****1 文档编号:232353 上传时间:2022-10-07 格式:DOC 页数:64 大小:3.40MB
下载 相关 举报
Web安全测试规范V.doc_第1页
第1页 / 共64页
Web安全测试规范V.doc_第2页
第2页 / 共64页
Web安全测试规范V.doc_第3页
第3页 / 共64页
Web安全测试规范V.doc_第4页
第4页 / 共64页
Web安全测试规范V.doc_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

Web安全测试规范V.doc

《Web安全测试规范V.doc》由会员分享,可在线阅读,更多相关《Web安全测试规范V.doc(64页珍藏版)》请在冰豆网上搜索。

Web安全测试规范V.doc

系统测试报告

安全测试工作规范

 

文件状态

[]草稿[√]正式发布[]正在修改

当前版本

V1.0

拟制

日期

2014-03-04

审核

日期

批准

日期

深圳市xx有限公司

二〇一四年三月

2

修订历史记录

A-增加M-修订D-删除

变更版本号

日期

变更类型

(A*M*D)

修改人

摘要

备注

V1.3

2014-03-04

M

修改文档,按照公司目前实际情况进行调整

目录

1 概述 4

1.1 背景简介 4

1.2 适用读者 4

1.3 适用范围 4

1.4 安全测试在项目整体流程中所处的位置 5

1.5 安全测试在安全风险评估的关系说明 5

1.6 注意事项 5

1.7 测试用例级别说明 6

2 Web安全测试方法 7

2.1 安全功能验证 7

2.2 漏洞扫描 7

2.3 模拟攻击实验 7

2.4 侦听技术 7

3 Appscan工具介绍 8

3.1 AppScan工作原理 8

3.2 AppScan扫描阶段 9

3.3 AppScan工具使用 10

3.4 AppScan工具测试覆盖项说明 18

4 测试用例和规范标准 19

4.1 输入数据测试 20

4.1.1 SQL注入测试 20

4.1.2 命令执行测试 25

4.2 跨站脚本攻击测试 26

4.2.1 GET方式跨站脚本测试 28

4.2.2 POST方式跨站脚本测试 29

4.2.3 跨站脚本工具实例解析 30

4.3 权限管理测试 32

4.3.1 横向测试 32

4.3.2 纵向测试 33

4.4 服务器信息收集 39

4.4.1 运行账号权限测试 39

4.4.2 Web服务器端口扫描 39

4.5 文件、目录测试 40

4.5.1 工具方式的敏感接口遍历 40

4.5.2 目录列表测试 42

4.5.3 文件归档测试 44

4.6 认证测试 45

4.6.1 验证码测试 45

4.6.2 认证错误提示 46

4.6.3 锁定策略测试 47

4.6.4 认证绕过测试 48

4.6.5 修复密码测试 48

4.6.6 不安全的数据传输 49

4.6.7 强口令策略测试 50

4.7 会话管理测试 52

4.7.1 身份信息维护方式测试 52

4.7.2 Cookie存储方式测试 52

4.7.3 用户注销登陆的方式测试 53

4.7.4 注销时会话信息是否清除测试 54

4.7.5 会话超时时间测试 55

4.7.6 会话定置测试 55

4.8 文件上传下载测试 56

4.8.1 文件上传测试 56

4.8.2 文件下载测试 57

4.9 信息泄漏测试 58

4.9.1 连接数据库的账号密码加密测试 58

4.9.2 客户端源代码敏感信息测试 59

4.9.3 客户端源代码注释测试 59

4.9.4 异常处理 60

4.9.5 不安全的存储 62

4.10 逻辑测试 62

4.11 其他 63

4.11.1 Class文件反编译测试 63

5 本规范所涉及的测试工具 63

1概述

1.1背景简介

为了规避安全风险、规范代码的安全开发,以及如何系统的进行安全性测试,目前缺少相应的理论和方法支撑。

为此,我们制定《安全测试规范》,本规范可让测试人员针对常见安全漏洞或攻击方式,系统的对被测系统进行快速安全性测试。

1.2适用读者

本规范的读者及使用对象主要为测试人员、开发人员等。

1.3适用范围

本规范主要针对基于通用服务器的Web应用系统为例,其他系统也可以参考。

如下图例说明了一种典型的基于通用服务器的Web应用系统:

Web应用

应用服务器

¨Tomcat

¨JBoss

¨……

客户端

Web服务器

¨Apache

¨IIS

¨……

数据库服务器

¨Oracle

¨Sqlserver

¨……

本规范中的方法以攻击性测试为主。

除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践。

1.4安全测试在项目整体流程中所处的位置

一般建议在集成测试前根据产品实现架构及安全需求,完成安全性测试需求分析和测试设计,准备好安全测试用例。

在集成版本正式转测试后,即可进行安全测试。

如果产品质量不稳定,前期功能性问题较多,则可适当推后安全测试执行。

1.5安全测试在安全风险评估的关系说明

安全风险是指威胁利用漏洞对目标系统造成安全影响的可能性及严重程度。

其中威胁是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。

漏洞也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的漏洞等。

外部威胁利用系统的漏洞达到破坏系统安全运行的目的。

本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的漏洞识别部分,特别是技术性的漏洞识别。

完整的安全风险评估过程、概念见GB/T20984-2007《信息安全技术 信息安全风险评估规范》。

1.6注意事项

Ø安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),只能在测试环境中进行;不允许在正式环境运行,避免系统存在漏洞导致丢失数据和数据库损坏。

Ø本规范最主要目的是为了发现安全漏洞,至于发现一个漏洞以后更深一步的渗透测试在这里不会涉及。

例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。

Ø本文档中所有提及的测试工具的使用,请遵循公司相关规定。

Ø如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。

Ø本文档根据最严格的方式对目标进行测试,如果项目系统对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。

例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。

1.7测试用例级别说明

一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:

危害程度发生概率

表1风险等级界定表

本测试规范用例根据上面的定义分为四个测试级别:

测试用例级别

说明

一级

基本:

该类用例涉及可能导致风险程度为高的安全漏洞,在任何情况下都必须进行测试。

二级

重要:

该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。

三级

一般:

该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。

测试与否根据业务系统的重要性来判断。

四级

生僻:

该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集到很少且无关紧要的信息。

一般情况下不建议进行测试。

表2测试用例级别说明表

2Web安全测试方法

2.1安全功能验证

功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:

用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,不存在安全漏洞,具体方法可使用黑盒测试方法。

2.2漏洞扫描

漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。

漏洞扫描技术是一类重要的网络安全技术。

它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。

通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。

网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。

如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。

2.3模拟攻击实验

模拟攻击测试是一组特殊的黑盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力,可使用冒充、重演、消息篡改、服务拒绝等方法来实现。

2.4侦听技术

在数据通信或数据交互过程,对数据进行截取分析的过程。

目前最为流行的是网络数据包的捕获技术。

3Appscan工具介绍

Appscan扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。

往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。

Web目前分为“应用”和“Web服务”两部分。

应用指通常意义上的Web应用,而Web服务是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。

3.1AppScan工作原理

AppScan工作原理:

1、通过搜索(爬行)发现整个Web应用结构。

2、根据分析,发送修改的HTTPRequest进行攻击尝试(扫描规则库)。

3、通过对于Respond的分析验证是否存在安全漏洞。

所以,AppScan的核心是提供一个扫描规则库,然后利用自动化的“探索”技术得到众多的页面和页面参数,进而对这些页面和页面参数进行安全性测试。

“扫描规则库”,“探索”,“测试”就构成了AppScan的核心三要素。

如上图,单击“扫描”下面的小三角,可以出现如下的三个选型“完全扫描”、“仅探索”、“仅测试”三个名词,该三个类型为AppScan三个核心要素;

AppScan是对网站等Web应用进行安全攻击来检查网站是否存在安全漏洞;对网站来说,一个网站存在的页面,可能成千上万。

每个页面也都可能存在多个字段(参数),比如一个登陆界面,至少要输入用户名和密码,就是说一个页面存在两个字段,你提交了用户名密码等登陆信息,网站要有地方接受并且检查是否正确,这就可能存在一个新的检查页面。

这里的每个页面的每个参数都可能存在安全漏洞,都是被攻击对象,所以都需要检查。

这就存在一个问题,我们来负责来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,我们可能并不明确,如何知道这些信息?

访问一个网站的时候,我们需要知道的最重要的信息是哪个?

网站主页地址?

从网站地址开始,其他页面都可以链接过去,那么可不可以有种技术,告诉了它网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页面参数?

所以这就是“爬虫”技术,具体说,是“网站爬虫”,其利用了网页的请求都是用http协议发送的,发送和返回的内容都是统一的语言HTML,那么对HTML语言进行分析,找到里面的参数和链接,纪录并继续发送,最终,找到了这个网站的众多的页面和目录。

这个AppScan就提供,这里的术语叫“探索”。

在使用AppScan的时候,要配置的第一个就是要检查的网站的地址,配置了以后,AppScan就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1