Web安全测试规范V13.docx
![资源得分’ 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安全测试规范V13.docx》由会员分享,可在线阅读,更多相关《Web安全测试规范V13.docx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安全测试工作规范文件状态 草稿 正式发布 正在修改当前版本V1.0拟 制日期2014-03-04审 核日期批 准日期深圳市xx有限公司二一四年三月修订历史记录 A - 增加 M - 修订 D - 删除变更版本号日期变更类型(A*M*D)修改人摘 要备注V1.32014-03-04M修改文档,按照公司目前实际情况进行调整目 录1概述41.1背景简介41.2适用读者41.3适用范围41.4安全测试在项目整体流程中所处的位置51.5安全测试在安全风险评估的关系说明51.6注意事项51.7测试用例级别说明62Web安全测试方法72.1安全功能验证72.2漏洞扫描72.3模拟攻击实验72.4侦听技术73
2、Appscan工具介绍83.1AppScan工作原理83.2AppScan扫描阶段93.3AppScan工具使用103.4AppScan工具测试覆盖项说明184测试用例和规范标准194.1输入数据测试204.1.1SQL注入测试204.1.2命令执行测试254.2跨站脚本攻击测试264.2.1GET方式跨站脚本测试284.2.2POST方式跨站脚本测试294.2.3跨站脚本工具实例解析304.3权限管理测试324.3.1横向测试324.3.2纵向测试334.4服务器信息收集394.4.1运行账号权限测试394.4.2Web服务器端口扫描394.5文件、目录测试404.5.1工具方式的敏感接口遍
3、历404.5.2目录列表测试424.5.3文件归档测试444.6认证测试454.6.1验证码测试454.6.2认证错误提示464.6.3锁定策略测试474.6.4认证绕过测试484.6.5修复密码测试484.6.6不安全的数据传输494.6.7强口令策略测试504.7会话管理测试524.7.1身份信息维护方式测试524.7.2Cookie存储方式测试524.7.3用户注销登陆的方式测试534.7.4注销时会话信息是否清除测试544.7.5会话超时时间测试554.7.6会话定置测试554.8文件上传下载测试564.8.1文件上传测试564.8.2文件下载测试574.9信息泄漏测试584.9.1连
4、接数据库的账号密码加密测试584.9.2客户端源代码敏感信息测试594.9.3客户端源代码注释测试594.9.4异常处理604.9.5不安全的存储624.10逻辑测试624.11其他634.11.1Class文件反编译测试635本规范所涉及的测试工具631 概述1.1 背景简介为了规避安全风险、规范代码的安全开发,以及如何系统的进行安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定安全测试规范,本规范可让测试人员针对常见安全漏洞或攻击方式,系统的对被测系统进行快速安全性测试。1.2 适用读者本规范的读者及使用对象主要为测试人员、开发人员等。1.3 适用范围本规范主要针对基于通用服务器的W
5、eb应用系统为例,其他系统也可以参考。如下图例说明了一种典型的基于通用服务器的Web应用系统:Web应用应用服务器 Tomcat JBoss 客户端Web服务器 Apache IIS 数据库服务器 Oracle Sqlserver 本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践。1.4 安全测试在项目整体流程中所处的位置一般建议在集成测试前根据产品实现架构及安全需求,完成安全性测试需求分析和测试设计,准备好安全测试用例。在集成版本正式转测试后,即可进行安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后安全测试执行。1.5 安全
6、测试在安全风险评估的关系说明安全风险是指威胁利用漏洞对目标系统造成安全影响的可能性及严重程度。其中威胁是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。漏洞也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的漏洞等。外部威胁利用系统的漏洞达到破坏系统安全运行的目的。本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的漏洞识别部分,特别是技术性的漏洞识别。完整的安全风险评估过程、概念见GB/T 20984-2007信息安全技术信息安全风险评估规范。1.6 注意事项 安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),
7、只能在测试环境中进行;不允许在正式环境运行,避免系统存在漏洞导致丢失数据和数据库损坏。 本规范最主要目的是为了发现安全漏洞,至于发现一个漏洞以后更深一步的渗透测试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。 本文档中所有提及的测试工具的使用,请遵循公司相关规定。 如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。 本文档根据最严格的方式对目标进行测试,如果项目系统对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码
8、位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。1.7 测试用例级别说明一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:危害程度 发生概率高中低高高高中中高中低低中低低 表1 风险等级界定表本测试规范用例根据上面的定义分为四个测试级别:测试用例级别说明一级基本:该类用例涉及可能导致风险程度为高的安全漏洞,在任何情况下都必须进行测试。二级重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。三级一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。测试与否根据业务系统的重要性来判断。四级
9、生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集到很少且无关紧要的信息。一般情况下不建议进行测试。 表2 测试用例级别说明表2 Web安全测试方法2.1 安全功能验证功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,不存在安全漏洞,具体方法可使用黑盒测试方法。2.2 漏洞扫描漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统
10、互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。2.3 模拟攻击实验模拟攻击测试是一组特殊的黑盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力,可使用冒充、重演、消息篡改、服务拒绝等方法来实现。2.4 侦听技术在数据通信或数据交互过程,对数据进行截取分析的过程。目前最为流行的是网络数据包的捕获
11、技术。3 Appscan工具介绍Appscan扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。Web目前分为“应用”和“Web服务”两部分。应用指通常意义上的Web应用,而Web 服务是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。3.1 AppScan工作原理AppScan工作原理:1、通过搜索(爬行)发现整个 Web 应用结构。2、根据分析,发送修改的 HTTP R
12、equest 进行攻击尝试(扫描规则库)。3、通过对于 Respond 的分析验证是否存在安全漏洞。所以,AppScan 的核心是提供一个扫描规则库,然后利用自动化的“探索”技术得到众多的页面和页面参数,进而对这些页面和页面参数进行安全性测试。“扫描规则库”,“探索”,“测试”就构成了 AppScan 的核心三要素。如上图,单击“扫描”下面的小三角,可以出现如下的三个选型“完全扫描”、“仅探索”、“仅测试”三个名词,该三个类型为AppScan 三个核心要素;AppScan 是对网站等 Web 应用进行安全攻击来检查网站是否存在安全漏洞;对网站来说,一个网站存在的页面,可能成千上万。每个页面也都
13、可能存在多个字段(参数),比如一个登陆界面,至少要输入用户名和密码,就是说一个页面存在两个字段,你提交了用户名密码等登陆信息,网站要有地方接受并且检查是否正确,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,都是被攻击对象,所以都需要检查。这就存在一个问题,我们来负责来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,我们可能并不明确,如何知道这些信息?访问一个网站的时候,我们需要知道的最重要的信息是哪个?网站主页地址?从网站地址开始,其他页面都可以链接过去,那么可不可以有种技术,告诉了它网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页
14、面参数?所以这就是“爬虫”技术,具体说,是“网站爬虫”,其利用了网页的请求都是用 http 协议发送的,发送和返回的内容都是统一的语言 HTML,那么对 HTML 语言进行分析,找到里面的参数和链接,纪录并继续发送,最终,找到了这个网站的众多的页面和目录。这个AppScan 就提供,这里的术语叫“探索”。在使用 AppScan 的时候,要配置的第一个就是要检查的网站的地址,配置了以后,AppScan 就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简单说,了解网站的结构。“探索”了解了,测试的目标和范围就大致确定了,然后利用规则库( AppScan 的扫描规则
15、库,其类似杀毒软件的病毒库),发送各种发送请求,进行安全攻击,这个过程就是“测试”;具体可以检查的安全攻击类型都在里面做好了,我们去使用即可。完全测试就是把上面的两个步骤整合起来,“探索”+“测试”;在安全测试过程中,可以先只进行探索,不进行测试,目的是了解被测的网站结构,评估范围;然后选择“仅测试”,只对前面探索过的页面进行测试,不对新发现的页面进行测试。“完全测试”就是把两个步骤结合在一起,一边探索,一边测试。3.2 AppScan扫描阶段Appscan全面扫描包括两个步骤:探索和测试;1、 探索阶段: appscan会通过模仿成web用户单击链接并填写表单字段来探索站点(web应用程序或
16、web server)这就是探索阶段。探索阶段可以遍历每个URL路径,并分析后创建测试点。既工具会模仿一个用户对被访问的Web应用或Web服务站点进行探测访问,通过发送请求对站点内的链接与表单域进行访问或填写,以获取相应的站点信息。Appscan分析器将会对自己发送的每一个请求后的响应做出判断,查找出任何可能潜在风险的地方,并针对这些可能会隐含风险的响应,确定将要自动生成的测试用例。但是在探测阶段完成后,这些高危区域是否真的隐含着安全缺陷或应做更好的改良,以及这些隐含的风险是处于什么层度的,是需要在测试执行完成后,才能最终得出决论。2、 测试阶段:“测试”期间,appscan会发送它在“探索”
17、阶段创建的成千上万个定制的测试请求,通过你定制好的测试策略分析每个测试的响应,最后根据规则识别应用程序中的安全问题,并排列这些安全问题的风险级别。既Appscan是通过测试策略库中对相应安全隐患的检测规则而生成对应的足够全面而且复杂的测试输入(测试用例)。3、 扫描阶段:Appscan才是真正的工作起来,他将会把上个阶段的测试用例产生的服务请求陆续的发送出去。然后再检测分析服务的响应结果,从而判断该测试用例的输入,是否造成了安全隐患或安全问题。然后再通过测试用例生成的策略,找出该安全问题的描述,以及该问题的解决方案,同时还报告相关参数的请求发送以及响应结果。3.3 AppScan工具使用 扫描
18、如果是第一次启动,屏幕中央将会出现一个“欢迎”对话框。在此对话中,可以点击“入门”链接,查看 IBM Rational AppScan 的“新手入门帮助文档”,如下图:点击“创建新的扫描”,就可以开始扫描任务,选择“常规扫描”为例,如下图:选择扫描类型为:Web应用程序扫描,如下图:输入起始URL,如下图:点击“记录”,如下图:选择“测试策略”为缺省值,如下图:选择启动方式为“启动全面自动扫描”,如下图:选择自动保存,点击“是”,如下图:录入该网站的用户名和账号,登录系统后,点击“暂停”按钮,如下图:然后,点击“扫描”按钮下的“继续完全扫描”,等待扫描完成,如下图:扫描完成后,显示结果,如下图
19、:工具具体分布图,如下图: 生成报告1、 在工具栏上,单击“报告”,然后选择“安全报告”。2、 选择模板:管理综合报告、详细报告、修复任务、开发者、QA、站点目录。 注:可以通过你所需要的内容,在右侧树中选择你报告所有体现的内容3、 从最低严重性列表中,选择要包含在报告中的问题最低严重性级别。4、 点击保存报告,自动生成报告;报告提供PDA或WORD格式的保存。4 测试用例和规范标准测试用例和规范标准可分为主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在
20、主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要,参考以下示意图:造成的影响主动模式被动模式 初始化完成Web结构获取权限测试归档测试参数分析异常处理注入测试命令执行文件包含跨站脚本信息窃取备份文件后台查找目录列表会话管理信息泄漏数据破坏拒绝服务信息获取熟悉业务逻辑接口测试认证测试暴力破解认证绕过逻辑处理越权操作身份仿冒日志检查拒绝服务上传下载4.1 输入数据测试4.1.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 安全 测试 规范 V13
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内