Web安全测试规范.docx

上传人:b****7 文档编号:15321502 上传时间:2023-07-03 格式:DOCX 页数:124 大小:1.53MB
下载 相关 举报
Web安全测试规范.docx_第1页
第1页 / 共124页
Web安全测试规范.docx_第2页
第2页 / 共124页
Web安全测试规范.docx_第3页
第3页 / 共124页
Web安全测试规范.docx_第4页
第4页 / 共124页
Web安全测试规范.docx_第5页
第5页 / 共124页
Web安全测试规范.docx_第6页
第6页 / 共124页
Web安全测试规范.docx_第7页
第7页 / 共124页
Web安全测试规范.docx_第8页
第8页 / 共124页
Web安全测试规范.docx_第9页
第9页 / 共124页
Web安全测试规范.docx_第10页
第10页 / 共124页
Web安全测试规范.docx_第11页
第11页 / 共124页
Web安全测试规范.docx_第12页
第12页 / 共124页
Web安全测试规范.docx_第13页
第13页 / 共124页
Web安全测试规范.docx_第14页
第14页 / 共124页
Web安全测试规范.docx_第15页
第15页 / 共124页
Web安全测试规范.docx_第16页
第16页 / 共124页
Web安全测试规范.docx_第17页
第17页 / 共124页
Web安全测试规范.docx_第18页
第18页 / 共124页
Web安全测试规范.docx_第19页
第19页 / 共124页
Web安全测试规范.docx_第20页
第20页 / 共124页
亲,该文档总共124页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Web安全测试规范.docx

《Web安全测试规范.docx》由会员分享,可在线阅读,更多相关《Web安全测试规范.docx(124页珍藏版)》请在冰点文库上搜索。

Web安全测试规范.docx

Web安全测试规范

DKBA

华为技术有限公司内部技术规范

DKBA2355-2009.7

Web应用安全测试规范V1.4

2009年7月5日发布2009年7月5日实施

华为技术有限公司

HuaweiTechnologiesCo.,Ltd.

版权所有XX

Allrightsreserved

修订声明Revisiondeclaration

本规范拟制与解释部门:

安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部

本规范的相关系列规范或文件:

《Web应用安全开发规范》

相关国际规范或文件一致性:

《OWASPTestingGuidev3》

《信息安全技术信息安全风险评估指南》

《InformationtechnologySecuritytechniquesManagementofinformationandcommunicationstechnologysecurity》-ISO13335

替代或作废的其它规范或文件:

相关规范或文件的相互关系:

本规范以《Web应用安全开发规范》为基础、结合Web应用的特点而制定。

版本号

主要起草部门专家

主要评审部门专家

修订情况

V1.1

安全解决方案:

赵武、吕晓雨56987、王欢00104062

业务与软件测试部系统部:

孟咏喜00137435

安全解决方案:

刘海军、吴宇翔、吴海翔、杨光磊、宋柳松、梁业金、姜凡

业务与软件:

何伟祥、刘高峰、龚连阳、许汝波、王娟娟、龚小华、王向辉、李磊、杨晓峰

网络解决方案验证部:

张喆

核心网:

车广芳、苏三、刘京、冻良

V1.2

何伟祥33428

刘高峰、吴宇翔、杨光磊、王欢、胡坤红、张伟、孟咏喜、成庆华、黎迎斌、周鹏、张喆、文桂林、张理、姜永章、苏燕鲁

增加WebService、上传、下载、控制台等方面的测试规范,更正V1.1一些描述不准确的测试项

V1.3

何伟祥00162822

刘高峰、胡坤红、张伟

增加“会话固定”、“审计日志”、“DWR”的安全测试规范,完善验证码安全测试的方法。

V1.4

刘振南00264924

胡坤红、张伟、宋飞、夏成林、王欢、沈海涛、钱育波、石功

新增以下内容:

3.3.5SEC_Web_DIR_05_02版本控制软件SVN备份文件测试

3.5.8会话标识随机性测试

3.6.3跨站伪造请求测试

3.9.2LDAP注入测试

3.9.5回车换行符(CRLF)注入测试

3.9.6XML注入测试

3.13SEC_Web_SERVICE_02WebService测试

3.15HTML5安全测试

3.16FLASH安全配置测试

3.17.3WEB部署与管理测试

3.17.4Struts2框架测试

5.2HTML5新增标签

目录TableofContents

Web安全测试规范

缩略语清单

缩略语

全称

CRLF

\r\n回车换行

LDAP

Lightweight Directory Access Protocol轻量级目录访问协议

MML

man-machinelanguage人机交互语言

SessionID

标志会话的ID

WebService

Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。

SOAP

SimpleObjectAccessProtocol简单对象访问协议

XSS

CrossSiteScripting跨站脚本

CSRF

CrossSiteRequestForgery跨站请求伪造

1概述

1.1背景简介

在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。

为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了《Web应用安全开发规范》;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。

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

1.2适用读者

本规范的读者及使用对象主要为Web相关的测试人员、开发人员、专职的安全测试评估人员等。

1.3适用范围

本规范主要针对基于通用服务器的Web应用系统,其他Web系统也可以参考,如基于嵌入式系统的Web维护接口等。

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

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

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

1.4安全测试在IPD流程中所处的位置

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

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

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

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

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

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

脆弱性(Vulnerability)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的弱点等。

外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。

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

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

1.6注意事项

●Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,禁止修改、删除现网其他数据。

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

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

●本文档中所有提及的测试工具的申请和使用,请遵循公司信息安全相关规定。

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

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

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

1.7测试用例级别说明

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

危害程度发生概率

表1风险等级界定表

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

测试用例级别

说明

1

基本:

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

2

重要:

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

3

一般:

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

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

4

生僻:

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

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

表2测试级别说明表

2测试过程示意图

本测试主要包括主动模式和被动模式两种。

在被动模式中,测试人员尽可能的了解应用逻辑:

比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。

一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。

主动测试会与被测目标进行直接的数据交互,而被动测试不需要。

3Web安全测试规范

3.1自动化Web漏洞扫描工具测试

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

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

Web目前分为application和Webservice两部分。

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

3.1.1AppScanapplication扫描测试

编号

SEC_Web_TOOL_01

测试用例名称

AppScanapplication扫描测试

测试目的

利用自动化的Web安全扫描工具AppScan进行扫描,以发现Web应用中存在的常见漏洞

用例级别

1

测试条件

1、已知Web服务器域名或IP地址

2、Web业务运行正常

3、测试用机上安装了AppScan

执行步骤

1、双击运行AppScan,选择file—new新建扫描,选择扫描模板default

2、弹出扫描配置对话框,选择扫描类型,默认为WebApplicationScan,点击next

3、在StartingURL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next

4、选择NoLogin,点击next

5、不需修改任何参数,点击next

6、不需修改参数,选择Startafullautomaticscan,点击finish完成配置,开始扫描

7、扫描完成,保存扫描结果,并对结果进行分析

预期结果

经过对扫描结果分析,确认不存在“中等等级”及以上级别的漏洞。

备注

注意:

该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。

由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。

分析过程参考以下章节的测试项,使用辅助工具或者是手动验证。

业界常用的自动化扫描工具还有WebInspcet,NStalker,AcunetixWebVulnerabilityScanner。

在有条件的情况下,可以综合使用。

测试结果

3.1.2AppScanWebService扫描测试

编号

SEC_Web_TOOL_02

测试用例名称

AppScanWebService扫描测试

测试目的

利用自动化的Web安全扫描工具AppScan进行扫描,以发现WebService中存在的漏洞

用例级别

1

测试条件

1、已知Web服务器域名或IP地址

2、Web业务运行正常

3、目标系统使用了WebService服务

4、测试用机上安装了AppScan

执行步骤

1、双击运行AppScan,选择file—new新建扫描,选择扫描模板default

2、弹出扫描配置对话框,选择扫描类型,默认为WebServiceScan,点击next

3、在StartingURL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next

4、不需修改任何参数,点击next

5、不需修改任何参数,点击Finish完成配置,开始扫描

6、扫描完成,保存扫描结果,并对结果进行分析

预期结果

经过分析确认以后的扫描结果中不存在信息提示以上等级的漏洞。

备注

注意:

该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。

由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。

测试结果

3.2服务器信息收集

3.2.1运行帐号权限测试

编号

SEC_Web_SERVERINFO_01

测试用例名称

运行帐号权限测试

测试目的

运行Web服务器的操作系统帐号权限越高,那么Web遭到攻击产生的危害就越大。

因此,不应使用“root”、“administrator”、等特权帐号或高级别权限的操作系统帐号来运行Web,应该尽可能地使用低级别权限的操作系统帐号。

用例级别

1

测试条件

1、已知Web网站IP地址和OS登陆帐号、密码

执行步骤

1、登陆Web服务器操作系统

2、查看运行Web服务器的操作系统帐号,不是“root”、“administrator”等特权帐号或高级别权限帐号,如果是则存在漏洞。

•window:

打开任务管理器,选择“进程”页,勾选左下方的“显示所有用户的进程”,检查运行Web服务器的帐号;

•unix:

使用“ps–ef|grepjava”命令,返回结果第一列的操作系统用户就是运行Web服务器的帐号;

预期结果

没有使用“root”、“administrator”等特权操作系统帐号运行Web。

备注

测试结果

3.2.2Web服务器端口扫描

编号

SEC_Web_SERVERINFO_02

测试用例名称

Web服务器端口扫描

测试目的

有时Web应用服务器除业务端口外还会开放一些默认端口(如Jboss开放的8083),这些默认端口对最终用户是不需要开放的,而且也不会用于维护,容易被攻击,本测试目的在于发现服务器上未使用的Web端口。

用例级别

1

测试条件

1、已知Web服务器域名或IP地址,假设IP地址为192.168.1.1

2、测试用机安装了nmap,假设路径为d:

\nmap

执行步骤

1、打开命令提示符,切换到nmap路径下,输入cd/dd:

\nmap

2、运行nmap–n–P0–sS–sV–p1-65535–oXscan_report.xml192.168.1.1

3、使用浏览器打开scan_report.xml

4、观察结果,看是否为必须开放的Web服务端口。

预期结果

系统未开放业务不需要使用的端口。

备注

各种参数扫描请参考《利用nmap进行端口扫描》

测试结果

3.2.3HTTP方法测试

编号

SEC_Web_SERVERINFO_03

测试用例名称

开放HTTP方法测试

测试目的

有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。

用例级别

1

测试条件

1、已知Web网站IP地址及Web访问端口

2、Web业务正常运行

执行步骤

1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe

2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开)

3、回车

4、在新行中输入如下一行,并回车

OPTIONS/HTTP/1.0

5、观察返回结果中的Allow的方法列表

返回结果样例:

HTTP/1.1200OK

Server:

Apache-Coyote/1.1

X-Powered-By:

Servlet2.4;JBoss-4.0.5.GA(build:

CVSTag=Branch_4_0date=2339)/Tomcat-5.5

Allow:

GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS

Content-Length:

0

Date:

Mon,29Jun200908:

02:

47GMT

Connection:

close

如果返回结果中包含不安全的HTTP方法(DELETE、PUT、TRACE、MOVE、COPY),则验证这些防范是否可用(参考3.2.4/3.2.5/3.2.6/3.2.7/3.2.8)

6、如果方法可用则说明存在漏洞,测试不通过。

预期结果

不包含不安全的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY)

备注

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为OPTIONS/HTTP/1.1

测试结果

3.2.4HTTPPUT方法测试

编号

SEC_Web_SERVERINFO_04

测试用例名称

HTTPPUT方法测试

测试目的

有些Web服务器开放了PUT方法,攻击者能够通过该方法上传任意文件到Web服务器的一些目录中去。

包括Web木马程序。

用例级别

1

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤

1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe

2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:

telnet10.70.100.1718080)

3、回车

4、在新行中拷贝并粘贴以下蓝色内容,然后回车

PUT/alert.txtHTTP/1.0

Content-Length:

16

Hackeraccessed!

备注:

其中“/alert.txt”可以根据实际应用路径构造,比如“/rbt/alert.txt”

5、打开IE访问http:

//10.70.100.171:

8080/alert.txt

6、如果响应的页面,显示内容是“Hackeraccessed!

”,则说明文件已创建,Web服务器开放了PUT方法,存在严重安全漏洞。

预期结果

访问不到内容为“Hackeraccessed!

”的alert.txt文件

备注

1、由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为PUT/alert.txtHTTP/1.1

2、如果Web服务器上运行着多个Web应用,比如:

http:

//10.70.100.171:

8080/application1/

http:

//10.70.100.171:

8080/application2/

http:

//10.70.100.171:

8080/application3/

那么,必须这些应用分别进行测试,只需要在步骤4中修改路径部分,例如:

PUT/application3/alert.txtHTTP/1.0

Content-Length:

16

Hackeraccessed!

测试结果

3.2.5HTTPDELETE方法测试

编号

SEC_Web_SERVERINFO_05

测试用例名称

HTTPDELETE方法测试

测试目的

有些Web服务器开放了DELETE方法,攻击者能够通过该方法删除Web服务器上的文件。

用例级别

1

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

3、Web网站存在/alert.txt文件(如果没有,手工创建)

执行步骤

1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe

2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:

telnet10.70.100.1718080)

3、回车

4、在新行中输入如下一行,并回车

DELETE/alert.txtHTTP/1.0

5、查看Web服务器上alert.txt是否被删除

预期结果

Web服务器上alert.txt文件依然存在

备注

1、由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为DELETE/alert.txtHTTP/1.1

2、如果Web服务器上运行着多个Web应用,比如:

http:

//10.70.100.171:

8080/application1/

http:

//10.70.100.171:

8080/application2/

http:

//10.70.100.171:

8080/application3/

那么,必须这些应用分别进行测试,只需要在步骤4中修改路径部分,例如:

DELETE/application3/alert.txtHTTP/1.1

测试结果

3.2.6HTTPTRACE方法测试

编号

SEC_Web_SERVERINFO_06

测试用例名称

HTTPTRACE方法测试

测试目的

有些Web服务器开放了TRACE方法(主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息),攻击者能够通过该方法构造跨站攻击。

用例级别

1

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤

1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe

2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:

telnet10.70.100.180)

3、回车

4、在新行中输入如下一行,并回车

TRACE/HTTP/1.0

5、观察返回结果

预期结果

Web服务器的返回信息提示Trace方法“notallowed”

备注

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为TRACE/HTTP/1.1

测试结果

3.2.7HTTPMOVE方法测试

编号

SEC_Web_SERVERINFO_07

测试用例名称

HTTPMOVE方法测试

测试目的

有些Web服务器开放了MOVE方法,用于请求服务器将指定的页面移到另一个网络地址,该方法不安全,容易被利用。

用例级别

1

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤

1、点击“开始”-“运行”,输入cmd并回车,运行cmd.exe

2、输入telnetIP端口(其中IP和端口按实际情况填写,用空格隔开,比如:

telnet10.70.100.180)

3、回车

4、在新行中输入如下一行,并回车

MOVE/test/a.html/a.htmlHTTP/1.0

5、观察返回结果

预期结果

Web服务器的返回信息提示MOVE方法“notsupported”

备注

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,应该更改步骤4的输入行为MOVE/test/a.html/a.html

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2