Web安全测试规范.docx
《Web安全测试规范.docx》由会员分享,可在线阅读,更多相关《Web安全测试规范.docx(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DKBADKBA 2355-2009.7 红黑联盟收集整理Web应用安全测试规范V1.22009年7月5日发布 2009年7月5日实施版权所有 侵权必究All rights reserved101 / 101修订声明Revision declaration本规范拟制及解释部门:安全解决方案部电信网络及业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件:Web应用安全开发规范相关国际规范或文件一致性:OWASP Testing Guide v3信息安全技术信息安全风险评估指南Information technology Security techniques M
2、anagement of information and communications technology securityISO 13335替代或作废的其它规范或文件:无相关规范或文件的相互关系:本规范以Web应用安全开发规范为基础、结合Web应用的特点而制定。版本号主要起草部门专家主要评审部门专家修订情况V1.1V1.2增加Web Service、上传、下载、控制台等方面的测试规范,更正V1.1一些描述不准确的测试项目 录 Table of Contents1概述71.1背景简介71.2适用读者71.3适用范围71.4安全测试在IPD流程中所处的位置81.5安全测试及安全风险评估的关系说
3、明81.6注意事项91.7测试用例级别说明92测试过程示意图103WEB安全测试规范113.1自动化Web漏洞扫描工具测试113.1.1AppScan application扫描测试123.1.2AppScan Web Service 扫描测试133.2服务器信息收集133.2.1运行帐号权限测试133.2.2Web服务器端口扫描143.2.3HTTP方法测试143.2.4HTTP PUT方法测试153.2.5HTTP DELETE方法测试163.2.6HTTP TRACE方法测试173.2.7HTTP MOVE方法测试173.2.8HTTP COPY方法测试183.2.9Web服务器版本信息
4、收集193.3文件、目录测试203.3.1工具方式的敏感接口遍历203.3.2Robots方式的敏感接口查找223.3.3Web服务器的控制台233.3.4目录列表测试243.3.5文件归档测试273.4认证测试283.4.1验证码测试283.4.2认证错误提示293.4.3锁定策略测试293.4.4认证绕过测试303.4.5找回密码测试313.4.6修改密码测试313.4.7不安全的数据传输323.4.8强口令策略测试333.5会话管理测试353.5.1身份信息维护方式测试353.5.2Cookie存储方式测试353.5.3用户注销登陆的方式测试363.5.4注销时会话信息是否清除测试363
5、.5.5会话超时时间测试373.5.6会话定置测试383.6权限管理测试393.6.1横向测试403.6.2纵向测试413.7文件上传下载测试463.7.1文件上传测试463.7.2文件下载测试473.8信息泄漏测试483.8.1连接数据库的帐号密码加密测试483.8.2客户端源代码敏感信息测试493.8.3客户端源代码注释测试493.8.4异常处理503.8.5HappyAxis.jsp页面测试513.8.6Web服务器状态信息测试523.8.7不安全的存储533.9输入数据测试533.9.1SQL注入测试533.9.2MML语法注入553.9.3命令执行测试563.10跨站脚本攻击测试56
6、3.10.1GET方式跨站脚本测试563.10.2POST方式跨站脚本测试573.11逻辑测试583.12搜索引擎信息收集593.13Web Service测试593.14其他623.14.1class文件反编译测试624APPSCAN测试覆盖项说明635附件645.1本规范所涉及的测试工具64Web安全测试规范缩略语清单缩略语全称CRLFrn回车换行LDAPLightweightDirectoryAccessProtocol 轻量级目录访问协议MMLman-machine language 人机交互语言SessionID标志会话的IDWeb ServiceWeb服务是一种面向服务的架构的技术
7、,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。SOAPSimple Object Access Protocol 简单对象访问协议XFSCross Frame Script 跨帧脚本XSSCross Site Script 跨站脚本1 概述1.1 背景简介在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了Web 应用安全开发规范;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。为此
8、,我们制定Web 安全测试规范,本规范可让测试人员针对Web常见安全漏洞或攻击方式,系统的对被测Web系统进行快速安全性测试。1.2 适用读者本规范的读者及使用对象主要为Web相关的测试人员、开发人员、专职的安全测试评估人员等。1.3 适用范围本规范主要针对基于通用服务器的Web应用系统,其他Web系统也可以参考,如基于嵌入式系统的Web维护接口等。如下图例说明了一种典型的基于通用服务器的Web应用系统:Web应用应用服务器 Uniportal JBoss 客户端Web服务器 IIS Apache 数据库服务器 Oracle DB2 本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全
9、测试方法以外,也借鉴了一些业界最佳安全实践,涵盖Web安全开发规范的内容。1.4 安全测试在IPD流程中所处的位置一般建议在TR4前根据产品实现架构及安全需求,完成Web安全性测试需求分析和测试设计,准备好Web安全测试用例。在TR4版本正式转测试后,即可进行Web安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后Web安全测试执行,但最迟不得超过TR5。1.5 安全测试及安全风险评估的关系说明安全风险是指威胁利用脆弱性对目标系统造成安全影响的可能性及严重程度。其中威胁(Threat)是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。脆弱性(Vulnerabili
10、ty)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的弱点等。外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的脆弱性识别部分,特别是技术性的脆弱性识别。完整的安全风险评估过程、概念见GB/T 20984-2007信息安全技术信息安全风险评估规范。1.6 注意事项l Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,禁止修改、删除现网
11、其他数据。l 本规范最主要目的是为了发现安全弱点,至于发现一个弱点以后更深一步的渗透测试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。l 本文档中所有提及的测试工具的申请和使用,请遵循公司信息安全相关规定。l 如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。l 本文档根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进
12、行测试。1.7 测试用例级别说明一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:危害程度发生概率高中低高高高中中高中低低中低低 表1 风险等级界定表本测试规范用例根据上面的定义分为四个测试级别:测试用例级别说明1基本:该类用例涉及可能导致风险程度为高的安全漏洞,在任何情况下都必须进行测试。2重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。3一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。测试及否根据业务系统的重要性来判断。4生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集
13、到很少且无关紧要的信息。一般情况下不建议进行测试。 表2 测试级别说明表2 测试过程示意图本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会及被测目标进行直接的数据交互,而被动测试不需要。造成的影响主动模式被动模式 初始化
14、 完成Web结构获取权限测试归档测试参数分析异常处理注入测试命令执行文件包含跨站脚本信息窃取备份文件后台查找目录列表会话管理信息泄漏数据破坏拒绝服务信息获取熟悉业务逻辑Google Hacking接口测试认证测试暴力破解认证绕过逻辑处理越权操作身份仿冒日志检查拒绝服务上传下载3 Web安全测试规范3.1 自动化Web漏洞扫描工具测试自动化扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。Web目前分为application
15、和Web service两部分。Application指通常意义上的Web应用,而Web service是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。3.1.1 AppScan application扫描测试编号SEC_Web_TOOL_01测试用例名称AppScan application 扫描测试测试目的利用自动化的Web安全扫描工具AppScan进行扫描,以发现Web应用中存在的常见漏洞用例级别1测试条件1、 已知Web服务器域名或IP地址2、 Web业务运行正常3、 测试用机上安装了AppScan执行步骤1、 双击运行AppScan
16、,选择新建扫描,选择扫描模板default2、 弹出扫描配置对话框,选择扫描类型,默认为Web Application Scan,点击next3、 在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next4、 选择No Login,点击next5、 不需修改任何参数,点击next6、 不需修改参数,选择Start a full automatic scan,点击finish完成配置,开始扫描7、 扫描完成,保存扫描结果,并对结果进行分析预期结果经过对扫描结果分析,确认不存在“中等等级”及以上级别的漏洞。备注注意:该用例的执行对被测系统的性能影响比较大,而
17、且可能导致一些垃圾数据,建议只在测试环境执行。由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。分析过程参考以下章节的测试项,使用辅助工具或者是手动验证。业界常用的自动化扫描工具还有WebInspcet,NStalker,Acunetix Web Vulnerability Scanner。在有条件的情况下,可以综合使用。测试结果3.1.2 AppScan Web Service 扫描测试编号SEC_Web_ TOOL_02测试用例名称AppScan Web Service 扫描测试测试目的利用自动化的Web安全扫描工具AppScan进行扫描,以发现
18、Web Service中存在的漏洞用例级别1测试条件1、 已知Web服务器域名或IP地址2、 Web业务运行正常3、 目标系统使用了Web Service服务4、 测试用机上安装了AppScan执行步骤1、 双击运行AppScan,选择新建扫描,选择扫描模板default2、 弹出扫描配置对话框,选择扫描类型,默认为Web Service Scan,点击next3、 在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next4、 不需修改任何参数,点击next5、 不需修改任何参数,点击Finish完成配置,开始扫描6、 扫描完成,保存扫描结果,并对结果进
19、行分析预期结果经过分析确认以后的扫描结果中不存在信息提示以上等级的漏洞。备注注意:该用例的执行对被测系统的性能影响比较大,而且可能导致一些垃圾数据,建议只在测试环境执行。由于自动化工具在很多情况下只是提示一种漏洞存在的可能,因此需要对所有的结果进行人工的分析判断。测试结果3.2 服务器信息收集3.2.1 运行帐号权限测试编号SEC_Web_ SERVERINFO_01测试用例名称运行帐号权限测试测试目的运行Web服务器的操作系统帐号权限越高,那么Web遭到攻击产生的危害就越大。因此,不应使用“root”、“administrator”、等特权帐号或高级别权限的操作系统帐号来运行Web,应该尽可
20、能地使用低级别权限的操作系统帐号。用例级别1测试条件1、 已知Web网站IP地址和OS登陆帐号、密码执行步骤1、 登陆Web服务器操作系统2、 查看运行Web服务器的操作系统帐号,不是“root”、“administrator”等特权帐号或高级别权限帐号,如果是则存在漏洞。 window:打开任务管理器,选择“进程”页,勾选左下方的“显示所有用户的进程”,检查运行Web服务器的帐号; unix:使用“ps ef|grep java”命令,返回结果第一列的操作系统用户就是运行Web服务器的帐号;预期结果没有使用“root”、“administrator”等特权操作系统帐号运行Web。备注测试结果
21、3.2.2 Web服务器端口扫描编号SEC_Web_SERVERINFO_02测试用例名称Web服务器端口扫描测试目的有时Web应用服务器除业务端口外还会开放一些默认端口(如Jboss开放的8083),这些默认端口对最终用户是不需要开放的,而且也不会用于维护,容易被攻击,本测试目的在于发现服务器上未使用的Web端口。用例级别1测试条件1、 已知Web服务器域名或IP地址,假设IP地址为192.168.1.12、 测试用机安装了nmap,假设路径为d:nmap执行步骤1、 打开命令提示符,切换到nmap路径下,输入cd /d d:nmap2、 运行nmap n P0 sS sV p1-65535
22、 oX scan_report.xml 192.168.1.13、 使用浏览器打开scan_report.xml4、 观察结果,看是否为必须开放的Web服务端口。预期结果系统未开放业务不需要使用的端口。备注各种参数扫描请参考利用nmap进行端口扫描测试结果3.2.3 HTTP方法测试编号SEC_Web_ SERVERINFO_04测试用例名称开放HTTP方法测试测试目的有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。用例级别1测试条件1、 已知Web网站IP地址及Web访问端口2、 Web业务正常运行执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 安全 测试 规范
限制150内