Web安全测试规范.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Web安全测试规范.pdf》由会员分享,可在线阅读,更多相关《Web安全测试规范.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WEB 安全测试规范2011第 1页,共 62页Web应用安全测试规范A2011第 2页,共 62页修订声明修订声明Revision declaration本规范拟制与解释部门:本规范拟制与解释部门:安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件:本规范的相关系列规范或文件:Web应用安全开发规范相关国际规范或文件一致性:相关国际规范或文件一致性:OWASP Testing Guide v3信息安全技术信息安全风险评估指南 Information technology Security techniques Management o
2、f information andcommunications technology securityISO 13335替代或作废的其它规范或文件:替代或作废的其它规范或文件:无相关规范或文件的相互关系:相关规范或文件的相互关系:本规范以Web应用安全开发规范为基础、结合Web应用的特点而制定。版本号版本号主要起草部门专家主要起草部门专家主要评审部门专家主要评审部门专家修订情况修订情况V1开发部开发部A2011第 3页,共 62页目目录录 Table of Contents1 概述概述.71.1 背景简介.71.2 适用读者.71.3 适用范围.71.4 安全测试在IPD流程中所处的位置.81
3、.5 安全测试与安全风险评估的关系说明.81.6 注意事项.91.7 测试用例级别说明.92 测试过程示意图测试过程示意图.103 WEB安全测试规范安全测试规范.113.1 自动化WEB漏洞扫描工具测试.113.1.1 AppScan application扫描测试.123.1.2 AppScan Web Service 扫描测试.133.2 服务器信息收集.133.2.1 运行帐号权限测试.133.2.2 Web服务器端口扫描.143.2.3 HTTP方法测试.143.2.4 HTTP PUT方法测试.153.2.5 HTTP DELETE方法测试.163.2.6 HTTP TRACE方法
4、测试.173.2.7 HTTP MOVE方法测试.173.2.8 HTTP COPY方法测试.183.2.9 Web服务器版本信息收集.183.3 文件、目录测试.203.3.1 工具方式的敏感接口遍历.203.3.2 Robots方式的敏感接口查找.213.3.3 Web服务器的控制台.22A2011第 4页,共 62页3.3.4 目录列表测试.233.3.5 文件归档测试.253.4 认证测试.263.4.1 验证码测试.263.4.2 认证错误提示.273.4.3 锁定策略测试.283.4.4 认证绕过测试.293.4.5 找回密码测试.293.4.6 修改密码测试.303.4.7 不安
5、全的数据传输.313.4.8 强口令策略测试.323.5 会话管理测试.333.5.1 身份信息维护方式测试.333.5.2 Cookie存储方式测试.343.5.3 用户注销登陆的方式测试.343.5.4 注销时会话信息是否清除测试.353.5.5 会话超时时间测试.353.5.6 会话定置测试.363.6 权限管理测试.373.6.1 横向测试.383.6.2 纵向测试.393.7 文件上传下载测试.443.7.1 文件上传测试.443.7.2 文件下载测试.453.8 信息泄漏测试.463.8.1 连接数据库的帐号密码加密测试.463.8.2 客户端源代码敏感信息测试.473.8.3 客
6、户端源代码注释测试.473.8.4 异常处理.48A2011第 5页,共 62页3.8.5 HappyAxis.jsp页面测试.493.8.6 Web服务器状态信息测试.503.8.7 不安全的存储.503.9 输入数据测试.513.9.1 SQL注入测试.513.9.2 MML语法注入.533.9.3 命令执行测试.533.10 跨站脚本攻击测试.543.10.1 GET方式跨站脚本测试.543.10.2 POST方式跨站脚本测试.553.11 逻辑测试.563.12 搜索引擎信息收集.563.13 WEBSERVICE测试.573.14 其他.603.14.1 class文件反编译测试.6
7、04 APPSCAN测试覆盖项说明测试覆盖项说明.615 附件附件.625.1 本规范所涉及的测试工具.62A2011第 6页,共 62页Web安全测试规范缩略语清单缩略语缩略语全称全称CRLFrn回车换行LDAPLightweight Directory Access Protocol 轻量级目录访问协议MMLman-machine language人机交互语言SessionID标志会话的IDWeb ServiceWeb服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。SOAPSimple Object Access Protocol 简单
8、对象访问协议XFSCross Frame Script 跨帧脚本XSSCross Site Script 跨站脚本A2011第 7页,共 62页1 概述概述1.1背景简介在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了Web 应用安全开发规范;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定Web 安全测试规范,本规范可让测试人员针对Web常见安全漏洞或攻击方式,系统的对被测Web系统进行快
9、速安全性测试。1.2适用读者本规范的读者及使用对象主要为Web相关的测试人员、开发人员、专职的安全测试评估人员等。1.3适用范围本规范主要针对基于通用服务器的Web应用系统,其他Web系统也可以参考,如基于嵌入式系统的Web维护接口等。如下图例说明了一种典型的基于通用服务器的Web应用系统:A2011第 8页,共 62页Web应用应用应用服务器应用服务器UniportalJBoss客户端客户端Web服务器服务器IISApache数据库服务器数据库服务器OracleDB2本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践,涵盖Web安全开发规范
10、的内容。1.4安全测试在 IPD 流程中所处的位置一般建议在TR4前根据产品实现架构及安全需求,完成Web安全性测试需求分析和测试设计,准备好Web安全测试用例。在TR4版本正式转测试后,即可进行Web安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后Web安全测试执行,但最迟不得超过TR5。1.5安全测试与安全风险评估的关系说明安全风险是指威胁利用脆弱性对目标系统造成安全影响的可能性及严重程度。其中威胁(Threat)是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。脆弱性(Vulnerability)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中
11、的弱点等。外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的脆弱性识别部分,特别是技术性的脆弱性识别。A2011第 9页,共 62页完整的安全风险评估过程、概念见GB/T 20984-2007信息安全技术信息安全风险评估规范。1.6注意事项Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,禁止修改、删除现网其他数据。本规范最主要目的是为了发现安全弱
12、点,至于发现一个弱点以后更深一步的渗透测试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。本文档中所有提及的测试工具的申请和使用,请遵循公司信息安全相关规定。如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。本文档根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。1.7测试用例级别说明一个安全漏洞的风险程度受危害
13、程度和概率的影响,我们定义了如下所示的关系:危害程度发生概率高中低高高高中中高中低低中低低表1风险等级界定表本测试规范用例根据上面的定义分为四个测试级别:测试用例级别测试用例级别说明说明1基本:该类用例涉及可能导致风险程度为高的安全漏洞,在A2011第 10页,共 62页任何情况下都必须进行测试。2重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。3一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。测试与否根据业务系统的重要性来判断。4生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集到很少且无关紧要
14、的信息。一般情况下不建议进行测试。表2测试级别说明表2 测试过程示意图测试过程示意图本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要。A2011第 11页,共 62页造成的影
15、响造成的影响主动主动模式模式被动模式被动模式初始化完成Web结构获取权限测试归档测试参数分析异常处理注入测试命令执行文件包含跨站脚本信息窃取备份文件后台查找目录列表会话管理信息泄漏数据破坏拒绝服务信息获取熟悉业务逻辑Google Hacking接口测试认证测试暴力破解认证绕过逻辑处理越权操作身份仿冒日志检查拒绝服务上传下载3 Web 安全测试规范安全测试规范3.1自动化 Web 漏洞扫描工具测试自动化扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问题并不是常见的漏洞,而是通过这些漏
16、洞针对业务逻辑和应用的攻击。Web目前分为application和Web service两部分。Application指通常意义上的Web应用,而Web service是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、A2011第 12页,共 62页WSDL)提供服务。3.1.1AppScan application 扫描测试编号SEC_Web_TOOL_01测试用例名称AppScan application 扫描测试测试目的利用自动化的Web安全扫描工具AppScan进行扫描,以发现Web应用中存在的常见漏洞用例级别1测试条件1、已知Web服务器域名或IP地址2
17、、Web业务运行正常3、测试用机上安装了AppScan执行步骤1、双击运行AppScan,选择filenew新建扫描,选择扫描模板default2、弹出扫描配置对话框,选择扫描类型,默认为Web Application Scan,点击next3、在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next4、选择No Login,点击next5、不需修改任何参数,点击next6、不需修改参数,选择Start a full automatic scan,点击finish完成配置,开始扫描7、扫描完成,保存扫描结果,并对结果进行分析预期结果经过对扫描结果分析,确
18、认不存在“中等等级”及以上级别的漏洞。备注注意:该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。分析过程参考以下章节的测试项,使用辅助工具或者是手动验证。业界常用的自动化扫描工具还有WebInspcet,NStalker,Acunetix WebVulnerability Scanner。在有条件的情况下,可以综合使用。测试结果A2011第 13页,共 62页3.1.2AppScan Web Service 扫描测试编号SEC_Web_ TOOL_02测试用例名
19、称AppScan Web Service 扫描测试测试目的利用自动化的Web安全扫描工具AppScan进行扫描,以发现Web Service中存在的漏洞用例级别1测试条件1、已知Web服务器域名或IP地址2、Web业务运行正常3、目标系统使用了Web Service服务4、测试用机上安装了AppScan执行步骤1、双击运行AppScan,选择filenew新建扫描,选择扫描模板default2、弹出扫描配置对话框,选择扫描类型,默认为Web Service Scan,点击next3、在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next4、不需修改任何
20、参数,点击next5、不需修改任何参数,点击Finish完成配置,开始扫描6、扫描完成,保存扫描结果,并对结果进行分析预期结果经过分析确认以后的扫描结果中不存在信息提示以上等级的漏洞。备注注意:该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。测试结果3.2服务器信息收集3.2.1运行帐号权限测试编号SEC_Web_ SERVERINFO_01测试用例名称运行帐号权限测试测试目的运行Web服务器的操作系统帐号权限越高,那么Web遭到攻击产生的危害就越大。因此,不应
21、使用“root”、“administrator”、等特权帐号或高级别权限的操作系统帐号来运行Web,应该尽可能地使用低级别权限的操作系统帐号。A2011第 14页,共 62页用例级别1测试条件1、已知Web网站IP地址和OS登陆帐号、密码执行步骤1、登陆Web服务器操作系统2、查看运行Web服务器的操作系统帐号,不是“root”、“administrator”等特权帐号或高级别权限帐号,如果是则存在漏洞。window:打开任务管理器,选择“进程”页,勾选左下方的“显示所有用户的进程”,检查运行Web服务器的帐号;unix:使用“ps ef|grep java”命令,返回结果第一列的操作系统用户
22、就是运行Web服务器的帐号;预期结果没有使用“root”、“administrator”等特权操作系统帐号运行Web。备注测试结果3.2.2Web 服务器端口扫描编号SEC_Web_SERVERINFO_02测试用例名称Web服务器端口扫描测试目的有时Web应用服务器除业务端口外还会开放一些默认端口(如Jboss开放的8083),这些默认端口对最终用户是不需要开放的,而且也不会用于维护,容易被攻击,本测试目的在于发现服务器上未使用的Web端口。用例级别1测试条件1、已知Web服务器域名或IP地址,假设IP地址为192.168.1.12、测试用机安装了nmap,假设路径为d:nmap执行步骤1、
23、打开命令提示符,切换到nmap路径下,输入cd/d d:nmap2、运行nmap n P0 sS sV p1-65535 oX scan_report.xml192.168.1.13、使用浏览器打开scan_report.xml4、观察结果,看是否为必须开放的Web服务端口。预期结果系统未开放业务不需要使用的端口。备注各种参数扫描请参考利用nmap进行端口扫描测试结果3.2.3HTTP 方法测试编号SEC_Web_ SERVERINFO_04测试用例名称开放HTTP方法测试A2011第 15页,共 62页测试目的有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、
24、TRACE、MOVE、COPY),这样就增加了受攻击面。用例级别1测试条件1、已知Web网站IP地址及Web访问端口2、Web业务正常运行执行步骤1、点击“开始”“运行”,输入cmd并回车,运行cmd.exe2、输入telnet IP端口(其中IP和端口按实际情况填写,用空格隔开)3、回车4、在新行中输入如下一行,并回车OPTIONS/HTTP/1.15、观察返回结果中的Allow的方法列表返回结果样例:HTTP/1.1 200 OKServer:Apache-Coyote/1.1X-Powered-By:Servlet 2.4;JBoss-4.0.5.GA(build:CVSTag=Bran
25、ch_4_0date=200610162339)/Tomcat-5.5Allow:GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONSContent-Length:0Date:Mon,29 Jun 2009 08:02:47 GMTConnection: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、C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 安全 测试 规范
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内