✅ 操作成功!

安全性测试

发布时间:2023-06-13 作者:admin 来源:文学

安全性测试

安全性测试

园林绿化工程施工-仿写拟人句的句子

2023年3月18日发(作者:新制度经济学)

DKBA

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

DKBA2355-2009.7

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

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

华为技术有限公司

HuaweiTechnologiesCo.,Ltd.

版权所有侵权必究

Allrightsreserved

修订声明Revisiondeclaration

本规范拟制与解释部门:

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

管理部

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

《Web应用安全开发规范》

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

《OWASPTestingGuidev3》

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

《InformationtechnologySecuritytechniquesManagementofinformationand

communicationstechnologysecurity》-ISO13335

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

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

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

版本号主要起草部门专家主要评审部门专家修订情况

V1.1安全解决方案:赵武、吕晓

雨56987、王欢00104062

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

孟咏喜00137435

安全解决方案:刘海军、吴宇翔、

吴海翔、杨光磊、宋柳松、梁业

金、姜凡

业务与软件:何伟祥、刘高峰、

龚连阳、许汝波、王娟娟、龚小

华、王向辉、李磊、杨晓峰

网络解决方案验证部:张喆

核心网:车广芳、苏三、刘京、

冻良

V1.2何伟祥33428刘高峰、吴宇翔、杨光磊、王欢、

胡坤红、张伟、孟咏喜、成庆华、

黎迎斌、周鹏、张喆、文桂林、

张理、姜永章、苏燕鲁

增加WebService、

上传、下载、控制

台等方面的测试规

范,更正V1.1一些

描述不准确的测试

V1.3何伟祥00162822刘高峰、胡坤红、张伟增加“会话固定”、

“审计日志”、

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第3页,共97页

版本号主要起草部门专家主要评审部门专家修订情况

“DWR”的安全测

试规范,完善验证

码安全测试的方

法。

V1.4刘振南00264924胡坤红、张伟、宋飞、夏成林、

王欢、沈海涛、钱育波、石功

新增以下内容:

3.3.5

SEC_Web_

DIR_05_02版本

控制软件SVN备份

文件测试

3.5.8会话标识

随机性测试

3.6.3跨站伪造请

求测试

3.9.2LDAP注入

测试

3.9.5回车换行符

(CRLF)注入测试

3.9.6XML注入

测试

3.13

SEC_Web_SERVI

CE_02Web

Service测试

3.15HTML5安全

测试

3.16FLASH安全

配置测试

3.17.3WEB部署与

管理测试

3.17.4Struts2框

架测试

5.2HTML5新增标

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第4页,共97页

目录TableofContents

1概述.........................................................................................................................................9

1.1背景简介.................................................................................................................................9

1.2适用读者.................................................................................................................................9

1.3适用范围.................................................................................................................................9

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

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

1.6注意事项...............................................................................................................................11

1.7测试用例级别说明...............................................................................................................11

2测试过程示意图...................................................................................................................12

3WEB安全测试规范..............................................................................................................13

3.1自动化WEB漏洞扫描工具测试............................................................................................13

3.1.1AppScanapplication扫描测试................................................................14

3.1.2AppScanWebService扫描测试...........................................................15

3.2服务器信息收集...................................................................................................................15

3.2.1运行帐号权限测试.....................................................................................15

3.2.2Web服务器端口扫描.................................................................................16

3.2.3HTTP方法测试..........................................................................................16

3.2.4HTTPPUT方法测试.................................................................................17

3.2.5HTTPDELETE方法测试..........................................................................18

3.2.6HTTPTRACE方法测试............................................................................19

3.2.7HTTPMOVE方法测试..............................................................................20

3.2.8HTTPCOPY方法测试..............................................................................20

3.2.9Web服务器版本信息收集.........................................................................21

3.3文件、目录测试...................................................................................................................22

3.3.1工具方式的敏感接口遍历.........................................................................22

3.3.2Robots方式的敏感接口查找....................................................................24

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第5页,共97页

3.3.3Web服务器的控制台.................................................................................25

3.3.4目录列表测试.............................................................................................27

3.3.5文件归档测试.............................................................................................29

3.4认证测试...............................................................................................................................30

3.4.1验证码测试.................................................................................................30

3.4.2认证错误提示.............................................................................................31

3.4.3锁定策略测试.............................................................................................32

3.4.4认证绕过测试.............................................................................................33

3.4.5找回密码测试.............................................................................................33

3.4.6修改密码测试.............................................................................................34

3.4.7不安全的数据传输.....................................................................................35

3.4.8强口令策略测试.........................................................................................36

3.5会话管理测试.......................................................................................................................37

3.5.1身份信息维护方式测试.............................................................................37

3.5.2Cookie存储方式测试................................................................................38

3.5.3用户注销登陆的方式测试.........................................................................38

3.5.4注销时会话信息是否清除测试.................................................................39

3.5.5会话超时时间测试.....................................................................................40

3.5.6会话定置测试.............................................................................................40

3.5.7会话标识携带.............................................................................................41

3.5.8会话标识随机性测试.................................................................................42

3.6权限管理测试.......................................................................................................................46

3.6.1横向测试.....................................................................................................47

3.6.2纵向测试.....................................................................................................49

3.6.3跨站伪造请求测试.....................................................................................54

3.7文件上传下载测试...............................................................................................................56

3.7.1文件上传测试.............................................................................................56

3.7.2文件下载测试.............................................................................................57

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第6页,共97页

3.8信息泄漏测试.......................................................................................................................59

3.8.1连接数据库的帐号密码加密测试.............................................................59

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

3.8.3客户端源代码注释测试.............................................................................60

3.8.4异常处理.....................................................................................................60

页面测试............................................................................62

3.8.6Web服务器状态信息测试.........................................................................63

3.8.7不安全的存储.............................................................................................63

3.9输入数据测试.......................................................................................................................64

3.9.1SQL注入测试.............................................................................................64

3.9.2LDAP注入测试..........................................................................................66

3.9.3MML语法注入............................................................................................66

3.9.4命令执行测试.............................................................................................67

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

3.9.6XML注入测试.............................................................................................70

3.10跨站脚本测试.......................................................................................................................73

3.10.1GET方式跨站脚本测试...........................................................................73

3.10.2POST方式跨站脚本测试........................................................................74

3.10.3URL跨站脚本测试...................................................................................75

3.11逻辑测试...............................................................................................................................76

3.12搜索引擎信息收集...............................................................................................................76

3.13WEBSERVICE测试................................................................................................................77

3.14DWR(DIRECTWEBREMOTING)测试..............................................................................81

3.15HTML5安全测试..................................................................................................................83

3.15.1跨域资源共享测试...................................................................................83

3.15.2Web客户端存储安全测试.......................................................................86

3.15.3WebWorker安全测试..............................................................................89

3.16FLASH安全配置测试...........................................................................................................90

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第7页,共97页

3.17其他.......................................................................................................................................91

3.17.1日志审计...................................................................................................91

3.17.2class文件反编译测试..............................................................................92

3.17.3WEB部署与管理测试..............................................................................92

3.17.4Struts2框架测试......................................................................................93

4APPSCAN测试覆盖项说明................................................................................................95

5附件.......................................................................................................................................96

5.1本规范所涉及的测试工具....................................................................................................96

5.2HTML5新增标签..................................................................................................................96

5.2.1结构标签.....................................................................................................96

5.2.2多媒体标签.................................................................................................97

5.2.3Web应用标签.............................................................................................97

5.2.4其他标签.....................................................................................................97

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第8页,共97页

Web安全测试规范

缩略语清单

缩略语全称

CRLFrn回车换行

LDAPLightweightDirectoryAccessProtocol轻量级目录访问协议

MML

man-machinelanguage人机交互语言

SessionID标志会话的ID

WebServiceWeb服务是一种面向服务的架构的技术,通过标准的Web协议提供服

务,目的是保证不同平台的应用服务可以互操作。

SOAPSimpleObjectAccessProtocol简单对象访问协议

XSSCrossSiteScripting跨站脚本

CSRFCrossSiteRequestForgery跨站请求伪造

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第9页,共97页

1概述

1.1背景简介

在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破

坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。

为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了《Web应用安全

开发规范》;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。为此,

我们制定《Web安全测试规范》,本规范可让测试人员针对Web常见安全漏洞或攻击方式,

系统的对被测Web系统进行快速安全性测试。

1.2适用读者

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

人员等。

1.3适用范围

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

入式系统的Web维护接口等。

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

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第10页,共97页

本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借

鉴了一些业界最佳安全实践,涵盖Web安全开发规范的内容。

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

一般建议在TR4前根据产品实现架构及安全需求,完成Web安全性测试需求分析和测试

设计,准备好Web安全测试用例。

在TR4版本正式转测试后,即可进行Web安全测试。如果产品质量不稳定,前期功能性

问题较多,则可适当推后Web安全测试执行,但最迟不得超过TR5。

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

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

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

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

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

本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中

的脆弱性识别部分,特别是技术性的脆弱性识别。

Web应用

应用服务器

Uniportal

JBoss

……

客户端

Web服务器

IIS

Apache

……

数据库服务器

Oracle

DB2

……

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第11页,共97页

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

估规范》。

1.6注意事项

Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃

圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务

必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,

禁止修改、删除现网其他数据。

本规范最主要目的是为了发现安全弱点,至于发现一个弱点以后更深一步的渗透测

试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的

可能,但不会提供暴力破解的方法。

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

如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),

这样能保证发现问题的全面性。

本文档根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身

的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,

测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里

面规定的位数进行测试。

1.7测试用例级别说明

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

危害程度发生概率高中低

高高高中

中高中低

低中低低

表1风险等级界定表

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

测试用例级别说明

1基本:该类用例涉及可能导致风险程度为高的安全漏洞,在

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第12页,共97页

任何情况下都必须进行测试。

2重要:该类用例涉及可能导致风险程度为中的安全漏洞,在

条件允许(时间、人力充沛)情况下必须进行测试。

3一般:该类用例涉及可能导致风险程度为低的安全漏洞,测

试结果可能对其他测试有帮助。测试与否根据业务系统的重

要性来判断。

4生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,

攻击者只能收集到很少且无关紧要的信息。一般情况下不建

议进行测试。

表2测试级别说明表

2测试过程示意图

本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用

逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点

(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用

及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测

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

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

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第13页,共97页

3Web安全测试规范

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

自动化扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用

户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严

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

Web目前分为application和Webservice两部分。Application指通常意义上的Web应用,而

Webservice是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、

造成的影响

主动

模式

被动模式

初始化

完成

Web结构获取

信息泄漏数据破坏拒绝服务

信息获取

熟悉业务逻辑

GoogleHacking

身份仿冒

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第14页,共97页

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,AcunetixWeb

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

测试结果

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第15页,共97页

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,应该尽可能地使用低级别权限的操

作系统帐号。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第16页,共97页

用例级别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_

192.168.1.1

3、使用浏览器打开scan_

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

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

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

测试结果

3.2.3HTTP方法测试

编号SEC_Web_SERVERINFO_03

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第17页,共97页

测试用例名称开放HTTP方法测试

测试目的

有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、

PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。

用例级别1

测试条件

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

2、Web业务正常运行

执行步骤1、点击“开始”-“运行”,输入cmd并回车,运行

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

3、回车

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

OPTIONS/HTTP/1.0

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

返回结果样例:

HTTP/1.1200OK

Server:Apache-Coyote/1.1

X-Powered-By:Servlet2.4;(build:CVSTag=Branch_4_0

date=2)/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

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第18页,共97页

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤1、点击“开始”-“运行”,输入cmd并回车,运行

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

比如:telnet10.70.100.1718080)

3、回车

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

PUT/P/1.0

Content-Length:16

Hackeraccessed!

备注:其中“/”可以根据实际应用路径构造,比如“/rbt/”

5、打开IE访问10.70.100.171:8080/

6、如果响应的页面,显示内容是“Hackeraccessed!”,则说明文件已创

建,Web服务器开放了PUT方法,存在严重安全漏洞。

预期结果访问不到内容为“Hackeraccessed!”的文件

备注

1、由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持

HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,

应该更改步骤4的输入行为PUT/P/1.1

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

10.70.100.171:8080/application1/

10.70.100.171:8080/application2/

10.70.100.171:8080/application3/

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

如:

PUT/application3/P/1.0

Content-Length:16

Hackeraccessed!

测试结果

3.2.5HTTPDELETE方法测试

编号SEC_Web_SERVERINFO_05

测试用例名称HTTPDELETE方法测试

测试目的

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

务器上的文件。

用例级别1

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第19页,共97页

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

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

执行步骤1、点击“开始”-“运行”,输入cmd并回车,运行

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

比如:telnet10.70.100.1718080)

3、回车

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

DELETE/P/1.0

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

预期结果Web服务器上文件依然存在

备注

1、由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持

HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,

应该更改步骤4的输入行为DELETE/P/1.1

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

10.70.100.171:8080/application1/

10.70.100.171:8080/application2/

10.70.100.171:8080/application3/

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

如:

DELETE/application3/P/1.1

测试结果

3.2.6HTTPTRACE方法测试

编号SEC_Web_SERVERINFO_06

测试用例名称HTTPTRACE方法测试

测试目的

有些Web服务器开放了TRACE方法(主要是用于客户端通过向Web服务

器提交TRACE请求来进行测试或获得诊断信息),攻击者能够通过该方

法构造跨站攻击。

用例级别1

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤1、点击“开始”-“运行”,输入cmd并回车,运行

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

比如:telnet10.70.100.180)

3、回车

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

TRACE/HTTP/1.0

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第20页,共97页

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并回车,运行

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

比如:telnet10.70.100.180)

3、回车

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

MOVE/test//TP/1.0

5、观察返回结果

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

备注

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持

HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,

应该更改步骤4的输入行为MOVE/test//TP/1.1

测试结果

3.2.8HTTPCOPY方法测试

编号SEC_Web_SERVERINFO_08

测试用例名称HTTPCOPY方法测试

测试目的

有些Web服务器开放了COPY方法,用于请求服务器将指定的页面拷贝到

另一个网络地址,该方法不安全,容易被利用。

用例级别1

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第21页,共97页

测试条件

1、已知Web网站IP地址

2、Web业务正常运行

执行步骤1、点击“开始”-“运行”,输入cmd并回车,运行

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

比如:telnet10.70.100.180)

3、回车

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

COPY/test//TP/1.0

5、观察返回结果

预期结果Web服务器的返回信息提示COPY方法“notsupported”

备注

由于不同的Web服务器支持的HTTP协议版本不同,如果系统不支持

HTTP/1.0,那么步骤4返回“HTTP/1.0400BadRequest”;这种情况下,

应该更改步骤4的输入行为COPY/test//TP/1.1

测试结果

3.2.9Web服务器版本信息收集

编号SEC_Web_SERVERINFO_09

测试用例名称Web服务器版本信息收集

测试目的

一些情况下,Web服务器能通过隐藏或者修改banner信息的方式防止黑客

攻击。这时候我们需要使用不依靠服务器Server标题头的扫描方式进行服

务器类型、版本判断。

用例级别4

测试条件

1、Web业务运行正常

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

3、测试用机安装了httprint(Windows环境)

执行步骤

1、运行Httprint_

2、在Host列中输入主机域名(如果没有域名则输入IP地址),在端口列

中输入端口号。如果为HTTPS则要选择锁图标下面的选择框。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第22页,共97页

3、点击程序下方的运行按钮

4、观察程序输出的结果

预期结果不能够得到Web服务器准确的版本信息

备注

测试结果

3.3文件、目录测试

3.3.1工具方式的敏感接口遍历

编号SEC_Web_DIR_01

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第23页,共97页

测试用例名称工具方式的敏感接口遍历

测试目的

网站目录查找是进行攻击的必备知识,只有知道了目录信息才能确定攻击

的目标,进行目录查找是测试的首要阶段,一般扫描工具进行扫描前首先

要进行目录查找。其次对于某些隐藏的管理接口(目录或文件),虽然没

有对外有明显的链接,但是通过一系列有特定含义的枚举是可以访问的。

用例级别2

测试条件

1、Web业务运行正常

2、已知目标网站的域名或IP地址

3、测试用机上需安装JRE

4、测试用机上有DirBuster软件

执行步骤

1、双击运行

2、在host栏中填入目标IP地址或域名,在Port栏中输入服务器对应的端

口;如果服务器只接受HTTPS请求,则需要选择Protocol为HTTPS

3、在filewithlistofdirs/files栏后点击browse,选择破解的字典库为

4、将Fileextension中填入正确的文件后缀,默认为php,如果为jsp页面,

需要填入jsp

5、其他选项不变,点击右下角的start,启动目录查找

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第24页,共97页

6、观察返回结果,可点击右下角的report,生成目录报告

预期结果经过分析以后的结果中,业务系统不存在不需要对外开放的敏感接口,或

者该接口进行了完善的权限控制。

备注举一个测试不通过的例子:

TypeFoundResponse

File/admin/200

测试结果

3.3.2Robots方式的敏感接口查找

编号SEC_Web_DIR_02

测试用例名称Robots方式的敏感接口查找

测试目的

为了防止搜索引擎的爬虫访问敏感的目录接口,服务器上可能会编辑一

个文件,内容为需要保护的文件或目录名称。直接访问

文件能够获取一些可能的敏感接口

用例级别2

测试条件

1、Web业务运行正常

2、已知待测目标URL,假设为

执行步骤

1、尝试访问/

例如可能返回如下结果:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第25页,共97页

2、观察返回结果

预期结果通过文件不能获取敏感的目录或文件信息。

备注敏感目录举例:/employee/salary_files/

敏感文件举例:/sys_manager/

测试结果

3.3.3Web服务器的控制台

编号SEC_Web_DIR_03

测试用例名称Web服务器的控制台

测试目的

检查是否部署了Web服务器的控制台,控制台是否存在默认帐号、口令,

是否存在弱口令。

用例级别1

测试条件

1、Web业务运行正常

2、已知目标网站的域名或IP地址

3、已知Web服务器版本信息

执行步骤

1、根据Web服务器的版本信息,通过google查询其对应的控制台URL地

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第26页,共97页

址和默认的帐号、口令。以下列出一些常见的Web服务器控制台URL

地址和默认帐号、口令:

Tomcat控制台URL:/manager/html

Tomcat控制台默认帐号admin,默认密码tomcat或admin或空

Tomcat控制台默认帐号tomcat,默认密码tomcat

Jboss控制台URL:/jmx-console/

Jboss控制台URL:/web-console/

Jboss控制台默认无须登陆,或者admin/admin

WebSphere控制台URL:/ibm/console/

WebSphere默认帐号admin,默认密码admin

WebLogic控制台URL:/console/(一般console

的端口为7001)

WebLogic默认帐号weblogic,默认密码weblogic

Apache控制台URL:/server-status

Axis2控制台URL:/axis2-admin/

Axis2控制台默认口令帐户:admin/axis2

iSAP控制台URL:/admin/

iSAP控制台默认的帐号和密码:admin/admin

Virgo控制台URL:/admin

Virgo控制台默认的帐号和密码:admin/springsource

uniportal控制台URL:/mc/zh/

uniportal控制台默认的帐号和密码:admin/uniportal

Resin3.0控制台URL:/admin_manage/

Resin3.1及更新版本的控制台URL:/resin-admin/

(Resin的控制台应该限制只能本机访问,也就是只能从安装本resin服务

器的机器上访问对应resin的控制台)

“普元”管理控制台URL:/eosmgr/

“普元”管理控制台默认的帐号和密码:sysadmin/000000

2、在浏览器地址栏中输入Web服务器对应的URL。由于不同的应用可能

目录有所差异,如果访问不到,可以登陆后台服务器以find命令查找,

比如find/-name“*console*”,find/-name“*admin*”,看看实际的URL

应该是什么,再次尝试。

3、检查是否存在Web服务器控制台

4、如果存在控制台,使用默认帐号、口令登录,弱口令登录,查看是否

登录成功,如果可以则存在漏洞。

预期结果不存在Web服务器控制台,或者存在控制台但有强口令。

备注弱口令例子:123、123456、abc、huawei、admin、tellin、isap、scp等;

另外,和用户名相同或非常接近的口令也属于弱口令,比如用户名为

tomcat,口令为tomcat1。

测试结果

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第27页,共97页

3.3.4目录列表测试

编号SEC_Web_DIR_04

测试用例名称目录列表测试

测试目的目录列表能够造成信息泄漏,而且对于攻击者而言是非常容易进行的。所

以在测试过程中,我们应当找出所有的目录列表漏洞。

用例级别1

测试条件

1、Web业务运行正常

2、已知目标网站的域名或IP地址

3、测试用机上需安装JRE

4、测试用机上有DirBuster软件

执行步骤

1、双击运行

2、在host栏中填入目标IP地址或域名,在Port栏中输入服务器对应的端口;

如果服务器只接受HTTPS请求,则需要选择Protocol为HTTPS

3、在filewithlistofdirs/files栏后点击browse,选择破解的字典库为

4、去除BurteForceFiles选项

5、其他选项不变,点击右下角的start,启动目录查找

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第28页,共97页

6、依次右击Response值为200的行,在出现的菜单中点击OpenInBrowser

7、分析结果

预期结果所有对目录的访问均不能打印出文件列表。

备注

测试结果

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第29页,共97页

3.3.5文件归档测试

编号SEC_Web_DIR_05_01

测试用例名称文件归档测试

测试目的

在网站管理员的维护过程中,很多情况下会对程序或者页面进行备份(可

能是有意的或者是无意的,如ultraedit在修改后会生成文件名加bak后

缀的文件)。攻击者通过直接访问这些备份的路径可以下载文件

用例级别1

测试条件

1、拥有运行Web服务器的操作系统帐号和口令

2、Web业务运行正常

执行步骤

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

2、以cd命令进入可以通过Web方式访问的目录(比如tomcat服务器的

$home/webapps目录,jboss服务器的$home/jboss/server/default/deploy

目录)

预期结果可以通过Web方式访问的目录,不存在开发过程(包括现场定制)中的产

生的临时文件、备份文件等。

备注

测试结果

编号SEC_Web_DIR_05_02

测试用例名称版本控制软件SVN备份文件测试

测试目的

在开发环境时常使用版本控制软件管理代码,常用的有SVN,SVN在管理代

码的过程中会自动生成一个名为.svn的隐藏文件夹,svn目录下还包含了

以.svn-base结尾的源代码文件副本。但一些网站管理员在发布代码时,

不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这

就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版

本信息追踪的‘entries’文件,逐步摸清站点结构。”

用例级别1

测试条件

1、Web业务运行正常并用SVN进行版本管理

2、在生产环境中未删除相关SVN的文件

执行步骤

1、假设存在这样的目录,如/xxx。

2、打开浏览器,直接在URL后面加上“.svn/entries”,查看是否出现目

录结构、文件等敏感信息

3、假设存在这样的文件,如/。

打开浏览器,直接在URL后面加上“.svn/text-base/-base”,查

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第30页,共97页

看是否出现该jsp文件的源码。

预期结果不能访问以下链接获得目录结构和页面源代码等敏感信息

备注发现有SVN漏洞后可以用Seay-SVN这个软件把整个Web站点下载下来或

在线管理,如图:

测试结果

3.4认证测试

暴力破解是目前最直接有效的攻击方式,特别对于电信业务来说,很多情况下口令都为

6位纯数字,很容易被攻击。本测试项在于检查认证系统对暴力破解的防护性。

在以下的一些测试中,围绕能否满足暴力破解进行的设计,未设计直接进行暴力破解的

攻击用例。如果需要,测试人员可以使用hydra和AppScan中集成的AuthenticationTester工具

进行。

3.4.1验证码测试

编号SEC_Web_AUTHEN_01

测试用例名称验证码测试

测试目的

查看是否有验证码机制,以及验证码机制是否完善

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第31页,共97页

3、存在登陆页面

执行步骤

1、登陆页面是否存在验证码,不存在说明存在漏洞,完成测试

2、验证码和用户名、密码是否一次性、同时提交给服务器验证,如果是

分开提交、分开验证,则存在漏洞

3、在服务器端,是否只有在验证码检验通过后才进行用户名和密码的检

验,如果不是说明存在漏洞。(检测方法:输入错误的用户名或密码、

错误的验证码。观察返回信息,是否只提示验证码错误,也就是说当

验证码错误时,禁止再判断用户名和密码。)

4、验证码是否为图片形式且在一张图片中,不为图片形式或不在一张图

片中,说明存在漏洞,完成测试

5、生成的验证码是否可以通过html源代码查看到,如果可以说明存在漏

洞,完成测试

6、生成验证码的模块是否根据提供的参数生成验证码,如果是说明存在

漏洞,完成测试

7、请求10次观察验证码是否随机生成,如果存在一定的规律(例如5次

后出现同一验证码)说明存在漏洞,完成测试

8、观察验证码图片中背景是否存在无规律的点或线条,如果背景为纯色

(例如只有白色)说明存在漏洞,完成测试

9、验证码在认证一次后是否立即失效:

请求登陆页面,得到生成的验证码

开启WebScarab,配置对GET和POST请求进行拦截;并在浏览

器中配置代理服务器IP为127.0.0.1,端口为8008

填入错误的用户名和口令,填入正确的验证码,提交表单

从WebScarab拦截数据中复制对应登陆请求的POST或GET消息

(文本格式),将其中的口令更改一个字符

在命令行中输入telnet,回车

将修改的内容粘贴到命令行窗口中,回车

判断返回的页面中是否包含“验证码错误”(或类似)的提示,

如果没有,说明存在漏洞,完成测试

预期结果不存在上述漏洞

备注

本用例根据最严格的方式对目标进行测试,如果产品线对安全的要求不

高且有自身的安全策略规定时,可以视情况对测试项进行部分测试

测试结果

3.4.2认证错误提示

编号SEC_Web_AUTHEN_02

测试用例名称认证错误提示

测试目的

为了进行暴力破解,攻击者需要知道已存在的用户名,再对该用户名进

行攻击。所以,本测试用于确认目标服务器在处理登陆操作时会提示出

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第32页,共97页

具体的信息。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、存在登陆页面

执行步骤

1、在用户名(或其他身份标志)的输入框中输入noexists,口令任意

2、若服务器返回提示类似于“用户名不存在”,则说明存在漏洞,完成

测试

3、使用正确的用户名(或同功能的身份标志),在口令框中输入noexists

4、若服务器提示类似于“密码/口令错误”“用户名不存在”之类的信

息,则说明存在漏洞,完成测试。

预期结果服务器不会针对认证错误的情况提示准确的信息。

备注

测试结果

3.4.3锁定策略测试

编号SEC_Web_AUTHEN_03

测试用例名称锁定策略测试

测试目的

在缺少锁定策略和验证码设计有问题的情况下,攻击者可以通过枚举的

方式来进行暴力猜解。本测试用于发现目标系统是否缺少锁定策略。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、存在登陆页面

执行步骤

1、打开登陆页面

2、在用户名(或同功能的身份标志)输入框中输入正确的用户名

3、在口令(或同功能的口令标志)输入框中输入错误的口令

4、在验证码输入框(如果有的话)中输入正确的验证码

5、提交表单

6、重复1~5步骤10次

7、判断目标系统返回的信息

预期结果

目标系统提示“帐号已锁定”或者“IP已锁定”或者类似“锁定”等之类

的信息。

备注第6步中重复步骤次数视各产品实际情况而定。

另外,如果系统存在一些认证接口(带认证参数的URL,不是普通登陆

页面),那么也需要对认证接口进行失败认证尝试,以测试其锁定策略。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第33页,共97页

测试结果

3.4.4认证绕过测试

编号SEC_Web_AUTHEN_04

测试用例名称认证绕过测试

测试目的

发现目标认证系统是否存在绕过的可能

用例级别1

测试条件1、已知Web网站地址

2、Web业务运行正常

3、存在登陆页面

执行步骤

1、打开登陆页面

2、在用户名(或同功能的身份标志)输入框中输入admin’or‘1’=’1

3、在口令(或同功能的口令标志)输入框中输入admin’or‘1’=’1

4、提交表单,观察返回结果

预期结果不能够成功登陆。

备注

如果目标系统采用javascript限制了输入格式,可以通过WebScarab来进行

修改。关于WebScarab的使用说明,请参看相关帮助文档。

测试结果

3.4.5找回密码测试

编号SEC_Web_AUTHEN_05

测试用例名称找回密码测试

测试目的

网站在密码重设和密码找回功能上如果存在着缺陷,攻击者可以通过此

功能找到指定用户的密码,更改指定用户的密码让其不能登陆,造成业

务数据修改等。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、网站提供密码重设或密码找回的功能

4、已知某正确的用户账号

执行步骤1、打开密码找回功能的页面

2、如果没有对用户的合法身份进行任何验证就发送密码,则说明存在漏

洞。

3、系统正常需要用户输入一些能够证明其合法身份的信息(比如回答一

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第34页,共97页

些原来注册用户时填写的一些信息,比如小学教师姓名等),如果是

回答问题的方式,则判断问题是否类似于“我的生日”或“我的姓氏”

这种答案限定范围非常小的问题。如果是说明存在漏洞,完成测试,

否则进行下一步。

4、如果为输入密码的方式,则查看该页的html源代码

5、在html源代码中查看是否存在着可能为密码的数据,如果是,说明存

在漏洞

6、用户的密码一般通过用户邮箱或者手机短信的方式来通知用户,如果

在返回的Web页面直接显示明文口令,则说明存在漏洞。

预期结果密码找回不存在漏洞

备注

测试结果

3.4.6修改密码测试

编号SEC_Web_AUTHEN_06

测试用例名称修改密码测试

测试目的

如果修改密码功能存在着缺陷,攻击者可以通过此其缺陷修改其他用户

的密码。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、网站提供修改密码的功能

4、已知某正确的用户账号

执行步骤1、登陆网站

2、进入密码修改页面

3、查看是否必须提交正确旧密码,如果不需要则存在漏洞

4、填写并提交修改密码数据,并以WebScarab拦截修改密码请求,观察

新旧密码是否通过同一个HTTP请求提交到服务器,如果不是则存在

漏洞;

5、观察是否客户端是否提交用户名或用户ID,如果是则修改为其他用户

名或用户ID,看看是否能够成功修改其他用户的密码,如果可以则存

在漏洞。

预期结果用户修改密码时必须提供旧密码,普通用户无法修改其他用户的密码。

备注如果初始口令为系统提供的默认口令、或者是由管理员设定时,则在用

户/操作员使用初始口令成功登录后,系统必须强制用户/操作员更改初始

口令,直至更改成功,否则是漏洞。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第35页,共97页

测试结果

3.4.7不安全的数据传输

编号SEC_Web_AUTHEN_07

测试用例名称登陆过程信息机密性保护

测试目的

测试Web程序在处理登录过程中用户名和口令的传输是否采用了加密传

输的机制。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、Web业务存在登陆认证模块

执行步骤1、已知网站登录地址为:/

2、开启WebScarab,配置对GET和POST请求进行拦截;在浏览器中配置

代理服务器IP为127.0.0.1,端口为8008

3、在登录处输入用户名和口令、验证码登陆

4、查看WebScarab拦截的请求中,用户名和口令是否采用HTTPS协议传

输。

预期结果用户名和密码信息采用HTTPS传输。

备注参考Web应用安全开发规范章节3.5.3敏感数据传输

测试结果

编号SEC_Web_AUTHEN_08

测试用例名称修改密码信息机密性保护

测试目的

测试Web程序在修改密码过程中用户名和口令的传输是否采用了加密传

输的机制。

用例级别2

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、Web业务存在修改密码的功能

执行步骤1、登陆Web网站

2、找到修改密码的页面

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第36页,共97页

3、输入旧密码和新密码并提交

4、并观察数据传输是否采用HTTPS方式

预期结果用户名和密码信息采用HTTPS传输。

备注创建用户时如果包含密码也应该HTTPS传输。

参考Web应用安全开发规范章节3.5.3敏感数据传输

测试结果

3.4.8强口令策略测试

编号SEC_Web_AUTHEN_08

测试用例名称强口令策略测试

测试目的

本测试为检查目标系统是否存在强口令策略。

用例级别2

测试条件1、已知Web网站地址

2、Web业务运行正常

3、Web业务存在帐号管理

4、已知正常用户的用户、口令

5、存在口令修改页面

执行步骤

1、使用正确的用户、口令登陆Web业务系统

2、打开口令修改页面

3、在新口令输入框中输入字母加数字的5位字符(如ab123)作为密码并

提交,如果未提示“口令长度过短”等诸如此类的信息,说明存在弱

点,完成测试。

4、在新口令输入框中输入6位数字(如123456)作为密码并提交,如果

未提示“口令字符需要大小写”等诸如此类的信息,说明存在弱点,

完成测试。

5、观察结果

预期结果

目标系统存在满足上述步骤的较严格的口令复杂度策略。

备注

上面只是举例说明口令复杂度的测试,实际上强口令策略还包括口令有

效期、历史口令等,这些都要测试。

对于一些Web应用(如移动网上客服系统)密码只能是数字组成,则不强

制要求强口令。

Web应用安全开发规范中的强口令策略:

规则3.2.1.1:口令长度的取值范围为:0-32个字符;口令的最短长度和

最长长度可配置;口令的最短长度建议默认为6个字符。

规则3.2.1.2:口令中至少需要包括一个大写字母(A-Z)、一个小写字母

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第37页,共97页

(a-z)、一个数字字符(0-9);口令是否包含特殊字符要求可以配置。

规则3.2.1.3:口令中允许同一字符连续出现的最大次数可配置,取值范围:

0-9,当取值为0时,表示无限制,建议默认为3。

规则3.2.1.4:口令须设置有效期,最短有效期的取值范围:0-9999分钟,

当取值为0时,表示不做限制,建议默认:5分钟;最长有效期的取值范

围:0-999天,当取值为0时,表示口令永久有效,建议默认:90天。

规则3.2.1.5:在口令到期前,当用户登录时系统须进行提示,提前提示的

天数可配置,取值范围:1-99天,建议默认:7天。

规则3.2.1.6:口令到达最长有效期后,用户再次登录成功但在进入系统前,

系统强制更改口令,直至更改成功。

规则3.2.1.7:口令历史记录数可配置,取值范围为:0-30;建议默认:3

个。

规则3.2.1.8:管理员/操作员/最终用户修改自己的口令时,必须提供旧口

令。

规则3.2.1.9:初始口令为系统提供的默认口令、或者是由管理员设定时,

则在用户/操作员使用初始口令成功登录后,要强制用户/操作员更改初始

口令,直至更改成功。

规则3.2.1.10:口令不能以明文的形式在界面上显示。

规则3.2.1.11:口令不能以明文的形式保存,须加密保存;口令与用户名

关联加密,即加密前的数据不仅包括口令,还包括用户名。

规则3.2.1.12:只有当用户通过认证之后才可以修改口令。

规则3.2.1.13:修改口令的帐号只能从服务器端的会话信息中获取,而不

能由客户端指定。

建议3.2.1.1:实现弱口令词典功能。

测试结果

3.5会话管理测试

3.5.1身份信息维护方式测试

编号SEC_Web_SESSION_01

测试用例名称身份信息维护方式测试

测试目的

发现目标系统是否采用参数来进行身份判断。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、Web业务存在不同级别的权限(角色)

执行步骤

1、登录系统

2、配置WebScarab进行httpget和post请求拦截

3、请求Web页面

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第38页,共97页

4、在WebScarab中查看请求报文

5、检查请求消息中是否携带了与用户身份相关的数据。如果有,修改身

份信息。如果服务器端以修改后的身份进行操作,则说明存在漏洞,

完成测试。

预期结果用户登陆后,身份信息不再由客户端提交,而是以服务器端会话信息中

保存的身份信息为准。

备注

测试结果

3.5.2Cookie存储方式测试

编号SEC_Web_SESSION_02

测试用例名称Cookie存储方式测试

测试目的

某些Web应用将SesssionId放到了URL中进行传输,攻击者能够诱使被攻

击者访问特定的资源,例如图片。在被攻击者查看资源时获取该SessionID

(在HTTP协议中Referer标题头中携带了来源地址),从而导致身份盗用。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、Web业务存在登陆认证模块

4、已知正确的用户名、口令

执行步骤

1、登录系统。

2、请求不同的业务应用

3、观察URL。

预期结果URL中没有携带SessionID信息(可能是sid,JSESSIONID等形式)。

备注

测试结果

3.5.3用户注销登陆的方式测试

编号SEC_Web_SESSION_03

测试用例名称用户注销登陆的方式测试

测试目的查看是否提供注销登陆功能

用例级别1

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第39页,共97页

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、Web业务存在登陆认证模块

4、已知正确的用户名、口令

执行步骤

1、使用正常的用户、口令登录系统。

2、查找登陆后的所有页面中是否存在明确的“退出”或“注销”(或类

似)的按钮或者链接

预期结果登陆后的页面中有明确的“退出”或“注销”按钮。

备注

测试结果

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

编号SEC_Web_SESSION_04

测试用例名称注销时(logout),会话信息是否清除

测试目的

由于网站程序在编写上考虑不周,用户注销后会话信息没有清除,导致

用户在点击注销按钮之后还能继续访问注销之前(也就是登陆之后)才

能访问的页面。我们需要经过测试来判断是否存在此类问题。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、存在注销功能的页面

执行步骤

1、使用合法的账户口令登陆。

2、开启WebScarab,配置对GET和POST请求进行拦截

3、在浏览器中配置代理服务器IP为127.0.0.1,端口为8008

4、在Web页面中进行一些操作(比如修改个人信息),这些操作都会被

WebScarab拦截,不修改,在弹出的WebScarab界面中点击“Accept

Changes”按钮。这样请求就被WebScarab记录下来。

5、然后在Web页面中点击注销/退出(logout)。

6、点击WebScarab的“ManualRequest”TAB页,在PreviousRequests的

下拉列表框中选择“步骤4”所产生的URL请求,然后点击“Fetch

Response”,重新发送“步骤4”的URL请求。

7、在WebScarab的Response的“Raw”Tab页中观察返回结果,如果还能

够正常完成“步骤4”的操作,则存在安全漏洞。

预期结果在WebScarab的Response的“Raw”Tab页中显示“HTTP/1.1302Moved

Temporarily”,不能够访问只有登陆才能访问的页面,不能完成只有登

陆后才能完成的操作。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第40页,共97页

备注如果存在多个注销功能的页面,要重复测试过程把所有有注销功能的页

面测试完。

测试结果

3.5.5会话超时时间测试

编号SEC_Web_SESSION_05

测试用例名称会话超时时间测试

测试目的查看是否存在浏览器窗口闲置超时后需重新登录的机制

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、Web业务存在登陆认证模块

4、已知正确的用户名、口令

执行步骤

1、使用正常的用户、口令登录系统。

2、将浏览器窗口闲置11分钟。

3、刷新浏览器,查看是否需要重新登录。

备注:也可以登陆后台Web服务器,查看对应的文件中的

session-timeout参数值,该值表示会话的超时时间。

预期结果会话超时时间不大于10分钟,刷新浏览器之后需要重新登录。

备注

测试结果

3.5.6会话定置测试

编号SEC_Web_SESSION_06

测试用例名称会话定置(sessionfixation)测试

测试目的查看登录成功后会话标识是否变更。如果未变更,那么攻击者就可以通

过一些手段(如构造URL)为受害着确定一个会话标识,当受害者登录

成功后,攻击者也可以利用这个会话标识冒充受害者访问系统。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第41页,共97页

3、Web业务存在登陆认证模块

4、已知正确的用户名、口令

执行步骤

1、访问登录页面

2、开启WebScarab,配置对GET和POST请求进行拦截;并在浏览器中配

置代理服务器IP为127.0.0.1,端口为8008

3、填入正确的用户名和口令,填入正确的验证码,登录

4、WebScarab跳出拦截界面,点击“RAW”TAB页,查看会话标识(例

如JSP的会话标识为JSESSIONID)的值。

5、点击“AcceptChanges”,登录成功。

6、成功登录后,点击系统提供的链接,请求任意功能页面。

7、WebScarab再次跳出拦截界面,点击“RAW”TAB页,查看(例如JSP

的会话标识为JSESSIONID)的值。

8、如果步骤4和步骤7查看到的会话标识的值一样,说明登录前后会话标

识没有变更,存在会话定置的安全漏洞。

预期结果步骤4和步骤7(登录前后)查看到的会话标识的值不一样

备注。

测试结果

3.5.7会话标识携带

编号SEC_Web_SESSION_07

测试用例名称会话标识携带

测试目的登录成功后,检查URL参数中是否携带了会话标识,URL的参数和值容

易泄漏,如果URL携带了会话标识,那么会话标识很容易泄漏,会话容

易被盗用。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务运行正常

3、已知正确的用户名、口令

执行步骤

1、访问登录页面,并成功登陆。

2、检查浏览器地址栏中的URL及参数,是否包含会话标识(例如:

jsessionid或sid等);如果包含,则存在安全漏洞。

预期结果URL参数中没有携带会话标识。

备注

测试结果

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第42页,共97页

3.5.8会话标识随机性测试

编号SEC_Web_SESSION_08

测试用例名称会话标识随机性测试

测试目的会话标识是用户身份的唯一标识,如果该标识被盗用、窃取、猜测则导致

非授权者盗用用户身份登录系统,因此会话标识必须具备强随机性,防止

非授权者猜测

用例级别2

测试条件

1、Web业务系统登录运行正常

2、已知正确的用户名、口令

执行步骤

1、配置burpsuite为浏览器代理,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第43页,共97页

2、配置完成后,访问登录页面,输入正确的用户名和密码。点击提

交后burpsuite将会拦截请求,例如:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第44页,共97页

3、在拦截的请求中右键点击弹出菜单,选择“SendtoSequencer”,这时

看到“Sequencer”标签高亮,点击“Sequencer”标签,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第45页,共97页

4、这时可看到请求已自动带进“Sequencer”,只需在“cookie”这栏

选择请求中的会话标识即可,基于JavaEE架构的会话标识符一般都以

JSESSIONID命名,最后点击“Startlivecapture”开始发送大量请求获

取足够数量的会话标识符,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第46页,共97页

5、等待进度条完成后,点击“Analyzenow”即可在下方看到报告,

这时只看红色圈部分显示“excellent”即可。

预期结果测试结果显示为“excellent”。

备注点击“Savetokens”可保存扫描过的会话标识,可供其他软件使用。

测试结果

3.6权限管理测试

目前存在着两种越权操作类型:横向越权操作和纵向越权操作。前者指的是攻击者尝试

访问与他拥有相同权限的用户的资源;而后者指的是一个低级别攻击者尝试访问高级别用户

的资源。下图能够比较清晰的描绘出它们之间的关系:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第47页,共97页

权限管理测试更多的是进行人工分析,自动化工具无法了解页面的具体应用场景以及逻

辑判断过程。因此这里的测试需要首先测试人员理解测试业务系统的逻辑处理流程,并在此

基础上进行如下测试。

这里有几个测试的参考依据:

页面是否进行权限判断;

页面提交的资源标志是否与已登陆的用户身份进行匹配比对;

用户登陆后,服务器端不应再以客户端提交的用户身份信息为依据,而应以会话中

保存的已登陆的用户身份信息为准;

必须在服务器端对每个请求URL进行鉴权,而不能仅仅通过客户端的菜单屏蔽或者

按钮Disable来限制。

3.6.1横向测试

编号SEC_Web_PRIVI_01_01

测试用例名称基于用户身份处理的横向越权操作测试

测试目的

发现页面中存在的横向越权操作。

用例级别1

测试条件

1、Web业务运行正常

2、Web业务存在身份级别控制

普通管理员C

普通用户A普通用户B

普通管理员D

超级管理员E

纵向越权

横向越权

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第48页,共97页

3、已知某页面(假设为/).提交的参数中

存在着代表用户(假设为userA)身份的标志(假设为operator),

4、与userA同级别权限的用户userB

5、测试用机安装了WebScarab软件

执行步骤

1、运行WebScarab

2、点击Proxy标签页->ManualEdit标签页

3、选中Interceptrequests

4、打开浏览器,在代理地址中配置host为127.0.0.1,port为8008

5、使用userA的身份登陆到Web应用

6、进入/页面,提交数据

7、在弹出的对话框中的URLEncoded页面中,更改operator参数的值为

userB,再点击AcceptChanges按钮提交

8、观察服务器处理

预期结果服务器返回操作失败或者以userA的用户身份操作。

备注如果参数是基于GET方式的URL传递,则不需要通过WebScarab工具,直

接在URL中进行修改提交即可。

参考资料

编号SEC_Web_PRIVI_01_02

测试用例名称基于资源ID处理的横向越权操作测试

测试目的

发现页面中存在的横向越权操作。

用例级别1

测试条件

1、Web业务运行正常

2、Web业务存在身份级别控制

3、Web业务存在相同级别的两个用户,假设分别为userA和userB

4、已知某页面(假设为/).提交的参数中

存在着代表资源的标志(假设为resource_id)

5、测试用机安装了WebScarab软件(本测试基于20070504版本来描述)

执行步骤

1、运行WebScarab

2、点击Proxy标签页->ManualEdit标签页

3、选中Interceptrequests

4、打开浏览器,在代理地址中配置host为127.0.0.1,port为8008

5、使用userA的身份登陆到Web应用

6、进入/页面,提交数据

7、在弹出的对话框中的URLEncoded页面中,更改resource_id参数的值为

userB所属的资源id,再点击AcceptChanges按钮提交

8、观察服务器处理

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第49页,共97页

预期结果服务器返回操作失败。

备注如果参数是基于GET方式的URL传递,则不需要通过WebScarab工具,直

接在URL中进行修改提交即可。

参考资料

3.6.2纵向测试

横向测试的两个用例在本测试类别中同样使用,只需要对用户身份进行测试时使用上

下级权限即可。

在下面的测试中,我们更偏向于使用白盒测试。这样对于测试人员来说节约了非常多的

时间。而且也能够全面覆盖所有的页面。

编号SEC_Web_PRIVI_02_01

测试用例名称基于菜单URL的测试

测试目的

发现应用中存在的URL纵向越权操作。

用例级别1

测试条件

1、Web业务运行正常

2、Web业务存在身份级别控制

3、拥有超级管理员及普通用户的帐号和密码

执行步骤

1、以超级管理员身份登陆Web网站

2、单击鼠标右键,选择“查看源文件”

3、在网页“源文件”中查找重要的管理菜单(比如用户管理)的URL链

接,并拷贝URL链接地址

4、退出登陆

5、以普通用户身份登陆Web网站

6、在浏览器地址栏中输入“用户管理”的URL地址(如

/),然后回车

7、观察普通用户是否能够顺利进入“用户管理”页面,并进行用户管理

操作。

预期结果普通用户不能够通过直接URL访问、使用未授权的功能。

备注

测试结果

编号SEC_Web_PRIVI_02_02

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第50页,共97页

测试用例名称基于源代码的测试

测试目的

发现页面中存在的纵向越权操作。

用例级别3

测试条件

1、Web业务运行正常

2、Web业务存在身份级别控制

3、拥有Web应用的源代码,假设存放目录为测试用机的c:webapp目录,

且假设页面为jsp

4、已知本目录对应的Web路径,假设为192.168.1.1/webapp/

执行步骤

1、使用无权限的用户身份访问Web应用,保持浏览器窗口。

2、cd/dc:webapp

3、dir/B*.jsp>

4、使用ultraedit打开

5、点击Search->Replace菜单

6、在弹出的对话框中使用

">test^p

替换

^p

7、用测试第一步中保持的浏览器打开文件

8、依次点击test连接

9、观察结果,如果能够访问,则进行记录

10、使用的低级别的用户身份登陆系统,保持浏览器窗口

11、重复8,9步操作

12、观察结果

预期结果不能够访问页面(如提示“拒绝访问”等信息)。

备注

测试结果

编号SEC_Web_PRIVI_02_03

测试用例名称基于crawling的测试

测试目的

发现页面中存在的纵向越权操作。

用例级别1

测试条件

1、Web业务运行正常

2、Web业务存在身份级别控制

3、已知待测目标URL,假设为/

4、测试用机上安装了AppScan

执行步骤

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

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

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第51页,共97页

点击next

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

需修改,点击next

4、选择默认的RecordedLogin(recommendedmethod),点击New

5、在弹出的页面中用权限较高的用户身份登录,如:admin等

6、关闭页面,弹出如下对话框,点击OK

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

8、不需修改参数,选择Startafullautomaticscan,点击finish完成配置,

开始扫描

9、扫描完成,保存扫描结果,假设命名为

10、重新开始扫描,重复步骤1、2、3

11、在选择用户身份(即:第4步)时,选择NoLogin,点击next

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第52页,共97页

12、在弹出的配置对话框中(即:第7步的对话框)选择AdvancedTest

Settings,弹出下面对话框,点击Configure选项

13、在PrivilegeEscalation中,点击Add添加已经扫描出的结果;点击

打开导入扫描结果;并用一个名称标记它,如:admin,点击ok

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第53页,共97页

14、然后点击ok返回扫描配置对话框,如第7步的图示,点击next

15、到第8步所示对话框中,不需修改参数,点击finish开始做越权扫

16、扫描完成,保存结果

17、分析扫描结果

预期结果扫描结果中不会提示存在漏洞。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第54页,共97页

备注

参考资料

3.6.3跨站伪造请求测试

编号SEC_Web_CSRF_03

测试用例名称跨站请求伪造测试(CSRF)

测试目的

如果网站在关键的业务操作(例如转账操作、增删改用户角色操作等等)

没有添加相应的令牌机制(用于识别是否授权人员本人操作),则非授权

人员有可能通过伪造请求利用已授权人员的身份执行非自愿的操作。

用例级别1

测试条件

1、Web业务运行正常

执行步骤

1、登陆网站,寻找网站的关键性操作(视具体的业务系统而定),这里只

以通用的增加用户操作为例。由于目前的表单大多以Post方法提交为主,因

此这里以Post方法为例。打开添加用户页面

2、配置burpsuite为浏览器代理,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第55页,共97页

3、配置完成后,点击网页上添加用户的按钮提交请求,burpsuite将会拦截

请求,请求中包括提交的字段以及提交的目标URL。

4、假设提交的请求中包括用户名(testUserName)和密码(testPassWord)

两个字段,提交的目标URL为/xxx/,编

写测试页面,代码如下:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第56页,共97页

5、将此测试页面放入浏览器中运行,如Web业务系统中已成功添加用户名

testN,则证明该Web业务系统存在跨站伪造请求的漏洞。

注意:运行测试页面时必须保持会话状态,即保持登录状态。

预期结果成功添加用户名testN。

备注

1、如果表单是Get方式提交,则测试页面更简单,代码如下:

2、编写页面时尽量带上所有字段或是带上必填字段,这样才能增加表

单提交的成功率。

测试结果

3.7文件上传下载测试

3.7.1文件上传测试

编号SEC_Web_FILE_01

测试用例名称文件上传测试

测试目的

很多网站提供文件上传功能(包括图片上传),如果在服务器端没有对

上传文件的类型、大小以及保存的路径及文件名进行严格限制,攻击者

就很容易上传后门程序取得WebShell,从而控制服务器。

用例级别1

测试条件

6、Web业务运行正常

7、待测网站存在文件上传页面

执行步骤

8、登陆网站,并打开文件上传页面

9、点击“浏览”按钮,并选择本地的一个JSP文件(比如),

确认上传。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第57页,共97页

10、如果客户端脚本限制了上传文件的类型(比如允许gif文件),

则把更名为;配置HTTPProxy(WebScarab)进行

http请求拦截;重新点击“浏览”按钮,并选择,确认上传。

11、在WebScarab拦截的HTTP请求数据中,将修改为

,再发送请求数据。

12、登陆后台服务器,用命令find/-查看文

件存放的路径。如果可以直接以Web方式访问,则构造访问的URL,

并通过浏览器访问,如果可以正常访问,则已经取得

WebShell,测试结束。如果无法通过web方式访问,例如

存放在/home/tmp/目录下,而/home/tomcat/webapps目录对应

/,则进行下一步

13、重复1~3,在WebScarab拦截的HTTP请求数据中,将

修改为../tomcat/webapps/,再发送请求数据。

14、在浏览器地址栏输入/,访问该

后门程序,取得WebShell,结束测试。

预期结果服务器端对上传文件的类型、大小以及保存的路径及文件名进行严格限

制,无法上传后门程序。

备注

测试结果

3.7.2文件下载测试

编号SEC_Web_FILE_02_01

测试用例名称文件下载测试1

测试目的很多网站提供文件下载功能,如果网站对下载文件的权限控制不严,攻

击者很容易利用目录跨越、越权下载到本不该下载的文件(比如其他用

户的私有、敏感文件)。

用例级别1

测试条件

1、Web业务运行正常

2、已知某下载页面URL(假设用户a下载自己的工资清单文件

/download/usera/)

执行步骤

1、猜测并更改URL路径

/download/userb/

/download/userc/

/admin/

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第58页,共97页

……

2、观察页面返回信息,如果可以越权获取到其他用户的私有、敏感文件,

则说明存在漏洞。

预期结果不能越权获取到不该获取的文件

备注

参考资料

编号SEC_Web_FILE_02_02

测试用例名称文件下载测试2

测试目的很多网站可能接受类似于文件名的参数用于下载或者显示内容。如果未

进行严格判断的话,攻击者可以通过修改这个参数值来下载、读取任意

文件内容。比如、/etc/password,甚至是数据库连接配置文件以及源代码

等等。

用例级别1

测试条件

1、Web业务运行正常

2、已知某页面URL(假设为

/?filename=)

执行步骤

1、更改参数的值为其他路径和文件

2、在浏览器地址栏中尝试以下URL

/?filename=../etc/passwd

/?filename=../../etc/passwd

/?filename=../../../etc/passwd

/?filename=../../../../etc/passwd

/?filename=../../../../../etc/passwd

……

对于UNIX/Linux服务器可以尝试下载/etc/passwd;对于Windows服务

器可以尝试下载c:文件

3、观察页面返回信息,如果可以获取到passwd或文件,则说明存

在漏洞。

预期结果不能获取到passwd或或JSP源代码等文件。

备注

该漏洞属于OWASP2007年十大Web安全漏洞的“不安全的直接对象引

用”。

参考资料

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第59页,共97页

3.8信息泄漏测试

泄露出的敏感信息包括但不限于:数据库连接地址、帐号和口令等信息、服务器系统信

息、Web服务器软件名称、版本、Web网站路径、除html之外的源代码、业务敏感数据等。

3.8.1连接数据库的帐号密码加密测试

编号SEC_Web_LEAKAGE_01

测试用例名称

连接数据库的帐号密码加密测试

测试目的

连接数据库的帐号密码在配置文件中如果明文存储,容易被恶意维护人

员获取,从而直接登陆后台数据库进行数据篡改。

用例级别1

测试条件

1、拥有Web服务器操作系统的帐号和口令

2、已知连接数据库的帐号密码所在的配置文件,可以找环境搭建人员咨

询。(还可以用grep命令查找哪些xml文件包含该数据库帐号,然后打开

这些文件进行检查)

执行步骤1、登陆Web服务器的操作系统。

2、用find命令找到对应的配置文件。

3、查看配置文件中连接数据库的帐号密码在配置文件中是否加密。

预期结果连接数据库的帐号密码在配置文件中加密存储

备注

测试结果

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

编号SEC_Web_LEAKAGE_02

测试用例名称

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

测试目的

Web页面的html源代码中不允许包含口令等敏感信息,特别关注修改口

令、带有星号口令的Web页面。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、待测页面能够正常访问

执行步骤1、登陆Web服务器。

2、选择可能存在敏感信息的页面(比如修改口令、带有星号口令的页

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第60页,共97页

面)。

3、在页面上单击鼠标右键,选择“查看源代码”。

4、查看页面的源代码包含口令等敏感信息。

预期结果在页面的源代码中看不到明文的口令等敏感信息

备注

测试结果

3.8.3客户端源代码注释测试

编号SEC_Web_LEAKAGE_03

测试用例名称客户端源代码注释测试

测试目的

开发版本的Web程序所带有的注释在发布版本中没有被去掉,而导致一些

敏感信息的泄漏。我们要查看客户端能看到的页面源代码并发现此类安

全隐患。

用例级别1

测试条件

1、已知Web网站地址

2、Web业务正常运行

3、待测页面能够正常访问

执行步骤1、从客户端查看网页源代码。

2、找到注释部分并查看是否有敏感信息。

预期结果源代码里不存在敏感信息(比如:内网IP地址、SQL语句、密码、物理路

径等)。

备注

测试结果

3.8.4异常处理

在这个部分我们通过构造各种异常的条件让Web程序处理,通过其返回信息来判断是否

存在信息泄漏的问题。

不存在的URL

编号SEC_Web_LEAKAGE_04

测试用例名称不存在的URL

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第61页,共97页

测试目的

Web网站在处理用户提交的不存在的URL时会返回错误信息,我们通过返

回的错误信息来确认是否会有敏感信息的泄漏问题。

用例级别1

测试条件

1、已知Web网站地址,假设为:或IP:

2、Web业务运行正常

执行步骤1、我们请求不存在的文件,比如:

/或者/

2、观察返回结果

预期结果返回的页面中没有敏感信息。

备注在各个目录和功能模块重复此操作

测试结果

非法字符

编号SEC_Web_LEAKAGE_05

测试用例名称非法字符导致信息泄漏

测试目的

Web应用在处理用户提交的含有特殊字符的URL时,可能会返回错误的信

息,通过错误信息来判断是否存在敏感信息的泄漏问题。

用例级别1

测试条件1、已知Web网站地址

2、Web业务正常运行

3、如果是IE浏览器,在Internet选项->高级里把“显示友好HTTP信息”

去掉选择状态

4、已知待测目标URL,假设为/

待测目标存在参数输入,假设为name=value,即:

/?name=value

执行步骤1、在正常的URL的参数中添加特殊字符:%*;’?

添加特殊字符后的URL为:

/?name=value%

/?name=value*

/?name=value;

/?name=value?

/?name=value’

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第62页,共97页

2、在浏览器地址栏中依次输入这些带有特殊字符的URL并回车

3、观察返回结果

预期结果返回的页面中没有敏感信息(比如:详细的类名、方法,SQL语句,物理

路径等)。

备注页面可能接受多个参数,需对每个参数都进行测试

POST情况下的参数也需要测试

测试结果

逻辑错误

Web应用在处理一些具有逻辑错误的请求时,可能会返回错误的信息,通过返回的错误

信息来确认是否会有敏感信息的泄漏问题。本测试无法给出很具体的测试指导,只能给出相

应的描述说明,那就是:尽可能的尝试使用违背业务逻辑处理的参数来让Web应用返回异常

信息。

页面测试

编号SEC_Web_LEAKAGE_05

测试用例名称

页面测试

测试目的

如果系统采用Axis来发布WebService,则默认情况下存在

页面,该页面会泄漏服务器的敏感信息。

用例级别1

测试条件

1、拥有运行Web服务器的操作系统帐号和口令

2、Web业务运行正常

执行步骤1、登陆Web服务器的操作系统

2、用find命令查找是否存在页面

find./-name"?appy?"

3、利用查询到的目录信息构造访问页面的URL,通过Web

方式访问该页,例如

/axis2/

4、如果能访问到则存在漏洞

预期结果不存在可以通过Web方式访问的文件。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第63页,共97页

备注

测试结果

3.8.6Web服务器状态信息测试

编号SEC_Web_LEAKAGE_06

测试用例名称

Web服务器状态信息测试

测试目的

Web服务器默认会提供服务器状态信息查询功能,该功能容易泄漏系统信

息,从而被攻击者利用。

用例级别2

测试条件

1、已知Web网站地址

2、Web业务正常运行

执行步骤1、访问/status?full=true。

2、观察返回结果,是否包含服务器的敏感信息。

预期结果查询不到Web服务器的状态信息

备注适用于Tomcat、Jboss服务器

测试结果

3.8.7不安全的存储

本测试无法给出很具体的测试指导,在测试中可以根据下列方法进行测试:

上传文件所在的目录(或者是临时目录)能否直接远程访问。

服务器配置文件目录或日志存放目录能否直接访问。

日志或数据库中是否能够看到明文敏感信息:Web应用一般都会对一些业务操作进

行记录日志操作。在日志文件中很可能包含了一些敏感信息(例如用户在更改口令

后日志文件中会记录该用户原始口令以及更改后的口令信息)。假如Web应用的日

志存放的目录被攻击者发现(符合上一条测试项),那么攻击者就可以从中获取大

量的敏感数据用户后续的攻击。因此,本测试需要对日志文件中的数据进行调查,

检查其中是否带有敏感数据或者敏感数据进行了加密处理。同样对于数据库也述要

进行审查。

公用文件头(如数据库连接信息、源代码头文件等)是否采用不被服务器处理的后

缀(如inc,它将作为文本格式直接输出)进行存储。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第64页,共97页

3.9输入数据测试

很多Web应用开发人员图简便,只是在客户端通过script对用户输入的数据进行合法性

校验,在服务器端没有对输入数据的合法性进行再次校验。客户端的输入检验,根本起不到

安全作用,可以通过HTTP代理轻易绕过。方法如下:

a)开启WebScarab,配置对GET和POST请求进行拦截;

b)在浏览器中配置代理服务器IP为127.0.0.1,端口为8008;

c)在Web页面中输入合法数据,并提交;

d)此时WebScarab会弹出HTTP请求拦截窗口,修改对应的输入参数值为不合法数据

(根据测试需要,构造输入数据);

e)点击“AcceptChanges”按钮,提交数据。这样就绕过了客户端的输入校验,向服

务端提交不合法的输入数据。

3.9.1SQL注入测试

SQL注入是针对一种数据库而言的,而不是针对网页语言。在任何使用了数据库查询环

境下都可能存在。常见的数据库包括:MSSQL、Oracle、Informix、Db2、Access、Sybase

等。针对不同的数据库系统使用的一些函数会有所不同,不过从测试是否存在SQL注入的角

度考虑,只需要进行几个最基本的判断语句就可以了。

编号SEC_Web_INPUT_01_01

测试用例名称手工SQL注入测试

测试目的

由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而

定)甚至可能造成数据修改、删除,从而导致业务中断。因此必须发现

所有存在的注入点。

用例级别1

测试条件

1、Web业务运行正常

2、已知待测目标URL,假设为/

3、待测目标存在参数输入,假设为name=value

执行步骤

1、观察参数的值value是否为数字型。如果是数字型进行数字型测试,否

则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果

出现2则将其当做数字型测试)

2、将被测参数后加上测试语句“and1=1”,即:地址栏中填入

“/?name=valueand1=1”,如果返回

正确页面则进行下一步操作,否则跳到第4步。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第65页,共97页

3、将被测参数后加上测试语句“and1=2”(这里以第n个参数为例),

其他参数保持不变,即:地址栏中填入

“/?name=valueand1=2”,如果返回

正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试

4、将被测参数后加上测试语句“’and‘1’=’1”,即:地址栏中填入

“/?name=value’and‘1’=’1”,如果

返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测

5、将被测参数后加上测试语句“’and‘1’=’2”,即:地址栏中填入

“/?name=value’and‘1’=’2”,如果

返回正确页面则不存在漏洞,否则该参数存在注入漏洞,完成测试

预期结果不存在注入点

备注

1、页面可能接受多个参数,需对每个参数都进行测试

2、如果客户端script对输入数据进行合法行校验,阻止非法数据,可以通

过3.9介绍的方法(通过WebScarab拦截并修改参数值),绕过客户端

数据校验。

3、POST、AJAX以及隐藏域提交参数也需要测试(方法是通过WebScarab

拦截HTTP请求,找到提交的参数并参照上面的方法修改参数值)

4、本测试包含了现有最常见的两种测试方法

测试结果

编号SEC_Web_INPUT_01_02

测试用例名称自动化工具SQL注入测试

测试目的

由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而

定)甚至可能造成数据修改、删除,从而导致业务中断。因此必须发现

所有存在的注入点。

用例级别1

测试条件

1、Web业务运行正常

2、已知待测目标URL,假设为/

3、待测目标存在参数输入,假设为name=value

4、测试用机安装了pangolin测试工具

执行步骤

1、运行pangolin

2、在URL输入框中输入/?name=value

3、点击Check按钮执行扫描操作

4、观察结果

预期结果Pangolin工具不能得到目标服务器的注入类型和数据库类型。

备注页面可能接受多个参数,需对每个参数都进行测试

测试结果

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第66页,共97页

3.9.2LDAP注入测试

LDAP是轻量目录访问协议,英文全称是LightweightDirectoryAccessProtocol,一般都

简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,

LDAP支持TCP/IP,这对访问Internet是必须的。从另一个意义上LDAP是实现了指定的数据

结构的存贮,它是一种特殊的数据库。但是LDAP和一般的数据库不同,明确这一点是很重

要的。LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。

编号SEC_Web_INPUT_02

测试用例名称LDAP注入测试

测试目的

由于LDAP类似于数据库,必然有查询数据的功能,数据库由于未过滤用

户输入而导致SQL注入,LDAP也一样,如未进行过滤也会引起LDAP注入。

用例级别1

测试条件

1、Web业务运行正常并在某些模块使用LDAP来存储,例如用户名等

2、Web服务端接受未经过滤的用户输入对LDAP进行查询

执行步骤

1、由于对LDAP注入的测试并未向SQL注入一样有个大概的通用测试方

法,LDAP注入的测试很大程度依靠具体的代码去测试,下面仅给出一个

演示的例子,对于具体的问题具体分析:

2、假设存在一个登录框需要输入用户名和密码才能登录,用户输入提交

后会传到后台的LDAP服务器进行查询,查询代码如下:

(&(USER=Uname)(PASSWORD=Pwd))

3、“&”是一个过滤器,查询满足以上两个条件的数据方可登录成功。

4、由于未过滤用户输入,非法用户输入在用户名输入Uname)(&))并在密

码输入Pwd(可任意),后台的查询被构造成

(&(USER=Uname)(&)(PASSWORD=Pwd))

5、由于LDAP服务器只处理第一个过滤器,即仅查询

(&(USER=Uname)(&))得到了处理。这个查询永真,因而攻击者无需有效

的密码就能绕过验证对系统进行访问。

预期结果不存在LDAP注入点

备注

1、手工寻找LDAP注入点比较困难,可使用扫描工具扫描。

2、LDAP注入原理其实和SQL注入一样,只是查询的语言不一样而已,需

了解LDAP查询语言。

测试结果

3.9.3MML语法注入

MML语法注入是我司特有的一种漏洞。MML语句通过分号(;)可以执行多语句。如果在

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第67页,共97页

缺少对输入参数进行严格控制的情况下,攻击者能够执行任意的MML语句。

由于结果判断的过程中无法给出准确的判断准则,所以这里也就没有办法给出详细的具

体步骤,这里给出一下基本步骤:

1、找出提交给MML处理的参数

2、在参数后面加入分号(;)提交请求

3、观察返回结果

如果结果返回正常可能就存在该漏洞。这里有一种情况:如果参数并未作为MML语句

执行中的一个参数值,那么返回的结果也可能是正确的,这时候就需要测试人员自己进行判

断了。

3.9.4命令执行测试

编号SEC_Web_INPUT_04

测试用例名称命令执行测试

测试目的某些页面可能接受类似于文件名的参数用于下载或者显示内容。

用例级别1

测试条件

1、Web业务运行正常

2、已知某页面URL(假设为/)接收参数,

且参数中接收类似于系统命令的字符(假设为cmd=ls)

执行步骤

1、更改参数的值为其他命令,可以尝试以下一些字符串:

netuser

ipconfig

cat/etc/passwd

2、观察页面返回信息。比如使用netuser命令的话,页面中可能包含类似

于如下的字符串:

host的用户帐户

-------------------------------------------------------------------------------

AdministratorGuestHelpAssistant

SUPPORT_388945a0

预期结果页面的源代码中不包含类似于系统命令的返回信息。

备注

参考资料

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第68页,共97页

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

CRLF注入在Web系统中又称HTTP响应拆分漏洞,是指Web系统未过滤客户端传来的回

车符%0d、换行符%0a导致服务器当成数据解释而形成的一种注入,常出现在Location、Cookie

以及自定义header等HTTP响应头。

编号SEC_Web_INPUT_05

测试用例名称回车换行符CRLF注入测试

测试目的

由于未正确过滤客户端的回车换行符,导致非法人员构造特殊的请求发送

到服务端,易形成跨站脚本攻击。

用例级别1

测试条件

1、Web业务运行正常

2、系统中客户端发送的请求内容出现在HTTP响应头中并且未过滤回车换

行符

执行步骤

1、寻找特殊的URL,执行该URL允许客户端发送的内容出现在HTTP响应

头中。

2、配置burpsuite为浏览器代理,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第69页,共97页

3、配置完成后,访问该URL。点击提交后burpsuite将会拦截请求,例如:

4、修改存在问题的参数值

为%0d%0a%20SomeCustomInjectedHeader:injected_by_wvs(%20后面

是任意的键值对),然后发送请求。

5、观察响应头,如果在HTTP响应头中独立一行出现

SomeCustomInjectedHeader:injected_by_wvs的自定义HTTP头,则证明

存在CRLF注入漏洞,如图:

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第70页,共97页

预期结果不存在CRLF注入点

备注

1、手工寻找客户端发送的请求内容出现在HTTP响应头中这种URL比较烦

琐并困难,可先使用扫描工具如AWVS扫描漏洞,再利用burpsuite去手工

验证。

测试结果

3.9.6XML注入测试

编号SEC_Web_INPUT_06

测试用例名称XML注入测试

测试目的可扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文

件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一

种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记

语言(SGML)的子集,非常适合Web传输。XML提供统一的方法来描

述和交换独立于应用程序或供应商的结构化数据。在解析XML的过程中

如果未过滤用户的输入则可能引起注入问题。

用例级别1

测试条件

1、Web业务运行正常

2、Web系统接受用户发送XML请求,服务端解析XML数据并发送给用户。

执行步骤

XML注入主要分为内容注入和实体注入。内容注入分为XML数据注

入、样式表注入、XPATH/XQuery注入。实体注入分为实体循环DDOS、

XML炸弹DDOS、外部实体注入。

1、XML数据注入:

a)、假设如下图的XML被用于从客户端提交到Web服务端。price的值

不可控,quantity和address项的值可控,即可以由用户自由输入。

Web安全测试规范V1.2

内部公开

2023-2-24

华为机密,未经许可不得扩散第71页,共97页

b)、在quantity的值中构造"

[img]javascript:alert(123456)[/img]