收藏 分销(赏)

Web安全测试规范V13.doc

上传人:a199****6536 文档编号:3129933 上传时间:2024-06-19 格式:DOC 页数:64 大小:3.37MB
下载 相关 举报
Web安全测试规范V13.doc_第1页
第1页 / 共64页
Web安全测试规范V13.doc_第2页
第2页 / 共64页
Web安全测试规范V13.doc_第3页
第3页 / 共64页
Web安全测试规范V13.doc_第4页
第4页 / 共64页
Web安全测试规范V13.doc_第5页
第5页 / 共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

21、SQL注入测试SQL注入是针对一种数据库而言的,而不是针对网页语言。在任何使用了数据库查询环境下都可能存在。常见的数据库包括:MSSQL、Oracle、Informix、Db2、Access、Sybase等。所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。SQL注入受到的威胁,(但不限于)以下几种情况: 数据泄漏 修改现有数据 插入新数据 任意的文件系统访问 任意的网络访问 系统泄漏针对不同的数据库系统使用的一些函数会有所不同,不过从测试是否存在SQL注入的角度考虑,只需要进行几个最基本的判断语句就可以了。编号W

22、eb_ 01测试用例名称手工SQL注入测试测试目的由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而定)甚至可能造成数据修改、删除,从而导致业务中断。因此必须发现所有存在的注入点。用例级别一级测试条件1、 Web业务运行正常2、 已知待测目标URL,假设为3、 待测目标存在参数输入,假设为name=value 执行步骤1、 观察参数的值value是否为数字型。如果是数字型进行数字型测试,否则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果出现2则将其当做数字型测试)2、 将被测参数后加上测试语句“and 1=1”,即:地址栏中填入“ and 1=1”, 如果返回正确

23、页面则进行下一步操作,否则跳到第4步。3、 将被测参数后加上测试语句“and 1=2”(这里以第n个参数为例),其他参数保持不变,即:地址栏中填入“ name=value and 1=2”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试4、 将被测参数后加上测试语句“ and 1=1”,即:地址栏中填入“ name=value and 1=1”, 如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试5、 将被测参数后加上测试语句“ and 1=2”,即:地址栏中填入“ name=value and 1=2”, 如果返回正确页面则不存在漏洞,否则该参数存在注入

24、漏洞,完成测试预期结果不存在注入点备注1、 页面可能接受多个参数,需对每个参数都进行测试2、 如果客户端脚本对输入数据进行合法行校验,阻止非法数据,可以通过方法(通过WebScarab拦截并修改参数值),绕过客户端数据校验。3、 POST、AJAX以及隐藏域提交参数也需要测试(方法是通过WebScarab拦截HTTP请求,找到提交的参数并参照上面的方法修改参数值)4、 本测试包含了现有最常见的两种测试方法测试结果编号Web _02测试用例名称自动化工具SQL注入测试测试目的由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而定)甚至可能造成数据修改、删除,从而导致业务中断。因此必

25、须发现所有存在的注入点。用例级别一级测试条件1、 Web业务运行正常2、 已知待测目标URL,假设为3、 待测目标存在参数输入,假设为name=value 4、 测试用机安装了pangolin测试工具执行步骤1、 运行pangolin2、 在URL输入框中输入3、 点击Check按钮执行扫描操作4、 观察结果预期结果Pangolin工具不能得到目标服务器的注入类型和数据库类型。备注页面可能接受多个参数,需对每个参数都进行测试测试结果4.1.1.1 SQL注入实例解析例1:网站地址,(用户名:jsmith,密码:Demo1234)使用下面的代码,登陆系统的管理员用户Username= or 1=

26、1 - and password=demo1234例2:公司某系统的扫描结果如下:下图为扫描工具判断,我们系统存在发出去的请求响应包含了SQL Server错误,表明测试所插入的危险字符渗透了应用程序并到达SQL查询本身;如上图,根据对应的路径,我们找到对应的文件,如下图:当前工具判断“lmbh”这个参数有存在SQL注入的风险,存在了5种变体那么,我们可以选择其中一个变体,在浏览器上打开对应的页面,如下图:http:/172.16.10.53:8010/plat/pages/platform/newmh/content/workfolwLmdynamic.jsp?lmbh=b844791e-a

27、d96-4c45-a65b-4d76e857b811%a5%20having%201=1-所以,在扫描工具中,会判断可能会导致SQL注入的可能原因,开发人员可以通过工具的提示信息,进行修改;4.1.2 命令执行测试编号Web _03测试用例名称命令执行测试测试目的某些页面可能接受类似于文件名的参数用于下载或者显示内容。用例级别1测试条件1、 Web业务运行正常2、 已知某页面URL(假设为执行步骤1、 更改参数的值为其他命令,可以尝试以下一些字符串:net useripconfigcat /etc/passwd2、 观察页面返回信息。比如使用net user命令的话,页面中可能包含类似于如下的

28、字符串:host 的用户帐户Administrator 预期结果页面的源代码中不包含类似于系统命令的返回信息。备注参考资料4.2 跨站脚本攻击测试“跨站点脚本编制”攻击是一种隐私违例,可让攻击者获取合法用户的凭证,并在与特定 Web 站点交互时假冒这位用户。跨站点脚本编制受到的威胁,(但不限于)以下几种情况: 当用户查看基于攻击者提供的内容而动态生成的页面时,他们会不知不觉地执行恶意脚本; 在用户的会话 cookie 失效之前,攻击者就能接管用户会话; 攻击者可以将用户连接到攻击者选择的恶意服务器上; 攻击者诱导用户访问由攻击者提供的URL,从而导致在用户的浏览器中执行攻击者选择的脚本或 HT

29、ML。通过使用这种技术,攻击者可以使用访问过此URL的用户的特权来采取行动,诸如对底层 SQL 数据库发出查询并查看其结果。 在上图中,恶意攻击者(这里使用 Evil.org 表示)通过 E-mail 或 HTTP 将某银行的网址链接发给用户(银行用 表示),该链接中附加了恶意的脚本(上图步骤一); 用户访问发来的链接,进入银行网站,同时,嵌在链接中的脚本被用户的浏览器执行(上图步骤二、三); 用户在银行网站的所有操作,包括用户的 cookie 和 session 信息,都被脚本收集到,并且在用户毫不知情的情况下发送给恶意攻击者(上图步骤四); 恶意攻击者使用偷来的 session 信息,伪装

30、成该用户,进入银行网站,进行非法活动(上图步骤五)。 因此,只要 Web 应用中,有可被恶意攻击者利用执行脚本的地方,都存在极大的安全隐患。黑客们如果可以让用户执行他们提供的脚本,就可以从用户正在浏览的域中偷到他的个人信息、可以完全修改用户看到的页面内容、跟踪用户在浏览器中的每一个动作,甚至利用用户浏览器的缺陷完全控制用户的机器。4.2.1 GET方式跨站脚本测试编号Web_XSS_01测试用例名称GET方式跨站脚本测试测试目的由于跨站脚本会导致会话被劫持、敏感信息泄漏、账户被盗,严重时甚至造成数据修改、删除,从而导致业务中断,因此需检测跨站脚本是否存在用例级别一级测试条件1、 Web业务运行

31、正常2、 已知待测目标URL,假设为3、 待测目标存在参数输入,假设为name=value4、 在某种情况下,用户输入被重新显示在网页上,包括名字、帐号、检索结果等等(说明目标网站服务器并没有对用户提交数据检测)执行步骤1、 在输入的参数后逐条添加以下语句,以第一条为例,输入2、 如果没有弹出显示123456的告警框,则在返回的页面上单击鼠标右键,选择“查看源文件”3、 查找网页源文件中是否包含完整的字符串alert(123456),则不管有没有弹出显示123456的告警框,都表明存在跨站脚本漏洞。由于有些HTML元素(比如或”)会影响脚本的执行,所以不一定能够正确弹出123456告警框,需要

32、根据返回网页源文件的内容,构造value的值,比如多行文本输入框:alert(123456)文本输入框:alert(123456) alert(123456)alert(123456)alert(123456)-alert(123456)imgjavascript:alert(123456)/imgscriptalert(123456)/scriptalert(123456)预期结果不存在跨站脚本漏洞备注需要对页面上所有可以提交参数的地方进行测试。具体跨站脚本的测试语句根据实际情况的不同而不同,这里列出了一些最常见构造语句。AppScan可以找出扫描到的页面的绝大部分跨站脚本漏洞,但对没有扫描

33、到的网页就无能为力了。测试结果4.2.2 POST方式跨站脚本测试编号Web_ XSS_02测试用例名称POST方式跨站脚本测试测试目的由于跨站脚本会导致会话被劫持、敏感信息泄漏、账户被盗,严重时甚至造成数据修改、删除,从而导致业务中断,因此需检测跨站脚本是否存在用例级别一级测试条件1、 Web业务运行正常2、 已知待测目标URL,假设为3、 待测目标以POST方式提交参数,显示为表单方式4、 在某种情况下,用户输入被重新显示在网页上,包括名字、帐号、检索结果等等(说明目标网站服务器并没有对用户提交数据检测)执行步骤1、 在POST表单中逐条输入以下语句,只要其中一条弹出显示123456的对话

34、框,就说明存在跨站漏洞,记录漏洞,停止测试。alert(123456)imgjavascript:alert(123456);/img2、 如果没有弹出显示123456的告警框,则在返回的页面上单击鼠标右键,选择“查看源文件”3、 查找网页源文件中是否包含完整的字符串alert(123456),则不管有没有弹出显示123456的告警框,都表明存在跨站脚本漏洞。由于有些HTML元素(比如或”)会影响脚本的执行,所以不一定能够正确弹出123456告警框,需要根据返回网页源文件的内容,构造value的值,比如alert(123456)alert(123456)alert(123456)alert(1

35、23456)-alert(123456)imgjavascript:alert(123456)/imgscriptalert(123456)/scriptalert(123456)预期结果不会弹出显示123456的对话框。 备注需要对页面上所有可以提交参数的地方进行测试。测试结果4.2.3 跨站脚本工具实例解析例:公司某系统的扫描结果如下(获取cookie信息):下图为扫描工具判断,我们系统开发代码中可能出现下面的代码语句(具体可以打开对应的文件查看),这种代码可能会让黑客进行跨站点攻击;如上图,/plat/”alert(51446)为修改后的代码内容,如果在浏览器上展示,如下图:这样黑客也可

36、以修改为:/plat/”alert(document.cookie),来获取我们系统中的cookie信息,如下图:从上图弹出的cookie信息中,黑客可以通过获取sessionID模拟合法用户(如果需要弹出该提示,需要修改IE浏览器的设置,关闭IE“internet选项-安全-脚本-自定义级别-脚本-禁用 XSS筛选器”)。所以,在扫描工具中,会判断可能会导致跨站点脚本工具的可能原因,开发人员可以通过工具的提示信息,进行修改;4.3 权限管理测试4.3.1 横向测试编号Web_01测试用例名称基于用户身份处理的横向越权操作测试测试目的发现页面中存在的横向越权操作。用例级别一级L测试条件1、 W

37、eb业务运行正常2、 Web业务存在身份级别控制3、 已知某页面(假设为4、 与userA同级别权限的用户userB5、 测试用机安装了WebScarab软件执行步骤1、 运行WebScarab2、 点击Proxy标签页-Manual Edit标签页3、 选中Intercept requests4、 打开浏览器,在代理地址中配置host为127.0.0.1,port为80085、 使用userA的身份登陆到Web应用6、 进入7、 在弹出的对话框中的URLEncoded页面中,更改operator参数的值为userB,再点击Accept Changes按钮提交8、 观察服务器处理预期结果服务器

38、返回操作失败或者以userA的用户身份操作。备注如果参数是基于GET方式的URL传递,则不需要通过WebScarab工具,直接在URL中进行修改提交即可。参考资料4.3.2 纵向测试横向测试的两个用例在本测试类别中同样使用,只需要对用户身份进行测试时使用上下级权限即可。在下面的测试中,我们更偏向于使用白盒测试。这样对于测试人员来说节约了非常多的时间。而且也能够全面覆盖所有的页面。编号Web _03测试用例名称基于菜单URL的测试测试目的发现应用中存在的URL纵向越权操作。用例级别一级测试条件1、 Web业务运行正常2、 Web业务存在身份级别控制3、 拥有超级管理员及普通用户的帐号和密码执行步

39、骤1、 以超级管理员身份登陆Web网站2、 单击鼠标右键,选择“查看源文件”3、 在网页“源文件”中查找重要的管理菜单(比如用户管理)的URL链接,并拷贝URL链接地址4、 退出登陆5、 以普通用户身份登陆Web网站6、 在浏览器地址栏中输入“用户管理”的URL地址(如7、 观察普通用户是否能够顺利进入“用户管理”页面,并进行用户管理操作。预期结果普通用户不能够通过直接URL访问、使用未授权的功能。备注测试结果编号Web _04测试用例名称基于爬行的测试测试目的发现页面中存在的纵向越权操作。用例级别一级测试条件1、 Web业务运行正常2、 Web业务存在身份级别控制3、 已知待测目标URL,假

40、设为4、 测试用机上安装了AppScan执行步骤1、 双击运行AppScan,选择filenew新建扫描,选择扫描模板default2、 弹出扫描配置对话框,选择扫描类型,默认为Web Application Scan,点击next3、 在Starting URL中填入需扫描的目标服务器域名或IP地址,其他配置不需修改,点击next4、 选择默认的Recorded Login(recommended method),点击New5、 在弹出的页面中用权限较高的用户身份登录,如:admin等6、 关闭页面,弹出如下对话框,点击OK7、 不需修改任何参数,点击next8、 不需修改参数,选择Star

41、t a full automatic scan,点击finish完成配置,开始扫描9、 扫描完成,保存扫描结果,假设命名为admin.scan10、 重新开始扫描,重复步骤1、2、311、 在选择用户身份(即:第4步)时,选择NoLogin,点击next12、 在弹出的配置对话框中(即:第7步的对话框)选择Advanced Test Settings,弹出下面对话框,点击Configure选项13、 在Privilege Escalation中,点击Add添加已经扫描出的结果;点击打开导入扫描结果;并用一个名称标记它,如:admin,点击ok14、 然后点击ok返回扫描配置对话框,如第7步的图示,

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 品牌综合 > 行业标准/行业规范

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服