• 1
  • 4
分享
  • 如何开展Web安全测试--过程介绍
  • 修远 2018-10-13 20:55:58 字数 729 阅读 2405 收藏 4

大家都知道测试分类里面,有一类叫“安全测试”,而随着互联网、物联网、工业4.0的发展,Web安全的重要性越来越高。很多互联网企业在高薪招聘“安全测试工程师”、“渗透测试工程师”、“安全专家”,大家在网上查一下,就可以知道这个职位现在真是炙手可热。

本文我们主要针对tomcat服务的Web应用系统,提供测试一般安全性的方法和用例,会以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践,涵盖Web安全开发规范的内容。

  1. Web应用系统介绍

首先我们用下图,来说明一种典型的基于通用服务器的Web应用系统:

安全风险是指威胁利用脆弱性对目标系统造成安全影响的可能性及严重程度。其中威胁(Threat)是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。脆弱性(Vulnerability)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的弱点等。外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的脆弱性识别部分,特别是技术性的脆弱性识别。

2.安全测试过程

安全测试过程主要可以包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   微软就最近曝光的美国国家公共数据(NPD)漏洞发布了一个新的支持页面。这是由网络犯罪集团 USDoD 发起的网络攻击导致的大规模漏洞,受影响人数远超 1.5 亿,近 300 万条个人敏感数据记录(如社会保险号 (SSN)、家庭住址、姓名等)被泄露。  美国监督与问责委员会证实,它正在调查此事,以更好地了解事情的经过和原因。NPD从公共记录、国家和州数据库以及法院文件(包括一些非公开来源)中收集信息。然后,这些私人数据被出售给各种组织,如背景调查网站、调查员、应用程序开发商和数据转售商。  微软在其支持文件中解释了发生的情况:  2024 年初,在线背景调查和防欺诈服务公司 National...
            0 0 281
            分享
          • 随着软件行业的快速发展,接口测试用例在软件开发中扮演着越来越重要的角色。自动化测试作为软件测试的一个重要分支,一般可以提高测试效率和质量,节约测试成本和时间,但是在实际推行过程中,大多数团队最终却难以持续实施自动化测试,不是编写测试用例有多难,而是维护测试用例的成本非常高,通常是“编写用例一时爽,维护起来火葬场”。于是对于如何有效地编写和运行接口测试用例就成了一个重要的话题。根据调查,大多数团队推行自动化测试最后却不了了之的原因无非是:1、需求变更频繁随着产品和业务的快速发展,需求往往会频繁变更,这就要求自动化测试的脚本也需要经常更新和维护,否则会导致测试效果下降。如果团队无法及时维护测试脚本...
            0 0 838
            分享
          •   大家测试过程中经常用的等价类划分、边界值分析、场景法等,并不能覆盖所有的需求,下面就来讲一种不经常用到但又非常重要的测试用例编写方法。  因果图  应用场景:页面上有多个控件(输入),控件(输入)之间存在不同的组合关系,不同组合之间又可以产生不同的输出结果,符合这个条件的页面可以使用因果图法。  通过应用场景我们发现,一个手机壳外形选择页面的用例就可以按照这种方法编写。  我们假设我们手机,品牌有品牌1和品牌2,品牌1对应的型号有型号1、型号2,品牌2对应的型号有型号3、型号4,我们所有的手机外形有外形1,外形2,但是外形1只能给品牌1的手机使用,外形2品牌2的手机使用;除固定选择外,还有...
            0 0 840
            分享
          •   在测试的过程中,有些测试点是在需求说明文档里明确提到的,比如果输入框的输入要求是什么、是否必填等等。  对于有经验的测试人来说,有一些测试点,是我们在以往的测试经验中总结出来的,而对于初学者往往会忽略一些没有在需求中列明的点。  对于不同模块的测试,我们需要着重注意的点也不一样,下面我们来总结一下注意点或者易错点。  必填项验证  1、必填项不填,如果是前台做的验证,保存时给出了提示信息,这个时候要F12看一下是否调用保存接口,或者去数据库查看一下数据有没有新增上,有可能是前台只给了提示,但还是给后台发送请求了。  2、提示了必填之后,将必填项填上,提示信息有无消失。  新增编辑成功验证 ...
            7 7 1623
            分享
          • 前言春节前在北京出差,和同事聊到了一个关于流量网关如何进行性能验证的需求,当时写了一篇文章《聊了简单的话题:如何分析性能需求》。结果节后上班同事找到我,希望我帮他们写一份给到业务团队的性能测试报告,原因是业务觉得他们之前提供的报告不够充分。这篇文章,来聊聊我对这个需求的分析和理解,以及如写出让业务满意的性能测试报告。需求背景需求背景实际上在前面的文章《聊了简单的话题:如何分析性能需求》中已经提到了,写性能测试报告的初衷,是目前的组织架构和业务形态决定的。我目前在Application Infrastructure团队,负责测试开发和性能及稳定性相关工作,由于公司是纵向的独立BU式的组织架构,基...
            0 0 748
            分享
      • 51testing软件测试圈微信