• 0
  • 0
分享

摘要:

        随着网络攻击不断制造恐慌,我们在数字领域的应用和数据面临的威胁也越来越大。互联世界中的企业需要认识到,安全测试对于他们的web应用程序是至关重要的。他们从项目一开始就需要先进的、全面的安全测试计划,以确保安全的用户体验。下面讲讲如何开始。

        近年来,支持各种服务的Web应用程序赢得了用户的信任。由于人们认为交易是受到安全监控的,所以在平台之间加载和共享了数万亿字节的数据。

        但是,随着网络攻击持续制造恐慌,对我们在数字领域的应用程序和数据安全的威胁也越来越大。越来越多的病毒攻击事件放大了人们对强大的安全测试的需求。

        参与互联世界的企业需要认识到安全测试是对其web应用程序至关重要的关键因素。这些企业应该在项目一开始就设计先进的、全面的安全测试计划,以确保安全的用户体验。

       以下是你可以开始的方法。


一、寻找潜在的安全漏洞

        第一步是检查代码中任何可能的漏洞。有几个常见的安全漏洞领域:

    • 隐藏字段操作: 此漏洞主要用于电子商务网站。应用程序会在网页中嵌入隐藏字段,由于编码标准差,这些隐藏字段通常包含机密信息,如产品价格。

    • 跨站脚本攻击:这是最常见的漏洞之一。它会让黑客窃取会话、篡改页面、嵌入内容或将用户重定向到恶意网站。

    • 跨站请求伪造:许多开发人员忽略了随机令牌和那些包含重要数据的页面的重新认证的重要性。没有它们,攻击者可以代表用户执行操作,如添加或删除帐户受益人或修改用户配置文件。


二、逐步执行安全测试

        让我们考虑一个场景,一家公司需要对其在ASP.NET构建的应用程序进行安全测试。对测试团队的期望是什么?这里有一个循序渐进的方法,可以捕获需求的解决方案。

1. 计划和策略

        制定计划和策略应该始终是安全测试的第一步。测试人员必须了解业务背景、访问应用程序的用户数量以及应用程序的工作流程,以便确定每个场景的具体测试内容。

        在执行任何项目之前,最好与开发人员举行一次会议,以了解应用程序的流程。这有助于测试人员识别自动化工具无法识别的逻辑漏洞,例如授权旁路。

        企业应该对有多少用户会访问该应用程序有一个大概的数字。了解用户的最大数量有助于测试人员生成虚拟用户来识别任何可能的拒绝服务攻击。如今,这些攻击很容易被利用。

2. 进行威胁建模

        对应用程序的高级威胁进行建模,可以让测试人员评估可能的风险和与之相关的场景。威胁建模确定了应用程序的薄弱环节,这有助于进行针对性的测试。

        在应用程序的蓝图完成之后,技术部分开始了,开发的部件也被定义好了。它可能是编码语言、平台、技术栈等等。每个部件都有自己的弱点和优点,因此在编码阶段之前识别漏洞非常重要。这有助于确定其他更安全的选项,并大大降低修复这些选项的成本。

        例如,如果应用程序是在.NET中,了解支持应用程序的各种部件中存在的漏洞是很重要的,例如.NET版本,IIS版本等。这有助于识别业务和架构威胁。

3. 选择测试工具 

        为了评估应用程序,必须使用合适的工具。每一个开源和专业工具都有它的优点和缺点,所以工具应该选择最适合的那个。像Zed攻击代理和Nmap等开源工具也允许测试人员修改自定义脚本。

4. 发挥测试的创造性

        尽管您应该使用自动化工具来执行一些安全测试,但是随着黑客变得越来越聪明,人类在测试中跳出思维定势也是很重要的。识别逻辑漏洞是经验丰富的测试人员和普通测试人员的区别。

        例如,当涉及到HTTP访问控制时,据报道CORS机制具有较低的信息漏洞,但是如果它与CSRF结合使用,将会对应用程序产生巨大的影响。这个已经从欧洲的一家大银行那里得到了验证。另一个例子是通过主机头攻击接管帐户。在请求密码重置链接时,哪怕简单地更改主机名都可能会造成损害,因为链接的其余部分将拥有攻击者的域,他们可能会访问您帐户的密码。当开发人员忘记限制密码重置链接的重用时,可能会发生这种情况,但一个聪明的测试人员会知道该怎么做。

5. 考虑每一步的安全性

        当手动对web应用程序进行安全测试时,可能会将测试限制在选择特定的、明显的参数上,但自动化web漏洞扫描器可以确保对每个参数进行扫描以发现漏洞。然而,将安全性集成为贯穿软件开发生命周期的过程将确保应用程序更安全地发布,因为大多数缺陷将在非常早期的阶段发现并被解决。

        一旦开发完成,并利用Jenkins或任何自动化框架为测试中的应用程序构建代码,安全测试就可以自动化,IP和URL可以动态地提供给Zed Attack Proxy或w3af等开源工具或许多其他商业工具。


三、整合不同类型的安全测试

        虽然上面提到的五个步骤会很好地帮助你,但是如果你想在你的安全测试中得到更好的效果,这还有很多其他因素需要考虑。

        静态应用程序安全性测试(SAST)涉及对应用程序的内部审计,在这种情况下,安全审计员或工具可以无限制地访问应用程序的源代码或二进制文件来测试应用程序。它可以通过手动和自动完成,并检查应用程序中可能无法检测到的复杂漏洞。

        动态应用安全测试(DAST)当应用程序在测试模式或生产环境中运行时,对其进行外部测试。它有助于跟踪应用程序的快速性、灵活性和可伸缩性,以便与企业安全策略无缝集成。

        交互式应用安全测试(IAST)结合了SAST和DAST,汇集了两种方法的优点。什么类型的安全测试是有用的完全取决于业务需求和目标,但是应用这两种方法可以有效地降低网络攻击的风险。


四、保护用户的安全

        与任何类型的测试一样,web应用程序的安全测试应该从制定一个完整的测试计划和评估可能的风险、攻击开始,以便制定最有效的测试。

        虽然自动化安全测试可以减轻工作量,使过程更快、更有效,但必须有人性化的理解和预测潜在黑客的思维过程。测试人员需要在测试工作中保持创造性,以确保用户在使用产品时的安全。


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •  Fiddler是一款强大的抓包工具,通过改写HTTP代理,让数据经由Fiddler,借此来监控并截取到请求和返回数据。这样一来它不仅可以定位前后端问题,还能够记录客户端和服务端的所有http请求、设置断点、篡改数据等,功能非常强大。  Fiddler界面简介  Fiddler的基本界面包含:工具栏、会话列表、命令行工具、HTTP Request信息栏、HTTP Response信息栏等。  1、工具栏:快捷功能菜单,可以进行清除会话、保存会话等操作;  2、会话列表:截获的请求会话列表,每一个请求为一个会话;  3、QuickExece命令行:允许直接输入命令(如:Help、Cls、bpu)...
            3 4 2552
            分享
          • 前言在性能测试中,当我们接到项目任务时,很多时候我们是不知道待测接口能支持多少并发用户数的。此时,需要我们先做负载测试,通过逐步加压,来找到最大并发用户数。那么当我们找到一个区间,怎么找到具体的值呢?在区间中逐步增加步长,出现以下任意现象时,即是最大并发用户数:出现连续报错平均响应时间超过1.5秒(1.5秒是行业标准)tps出现下降趋势负载测试概念逐步增加并发用户数,找出被测系统的最大可接受的并发用户数,并考察系统性能的变化。脚本总体设计:场景介绍:1、首先用插件管理器下载插件jpgc-StandardSet,然后重启jmeter2、添加线程组jp@gc-SteppingThreadGroup...
            3 4 2657
            分享
          •   在软件测试这条道路上,大部分的职业技能发展道路都会是纯业务手工测试→自动化测试→性能测试→安全测试/测试开发。  但是却有着一部分人起初进入软件测试这一行看重的就是软件测试属于IT行业,门槛比较低,不需要代码基础。  这就导致了这一部分测试工程师在一定程度上,在职位上的进阶就比较困难了。因为现在基本绝大多数互联网公司都已经把代码编程和自动化作为必要的技能。  为了更好的解决这部分工程师的工作痛点,本文分享一款近几年非常火爆的一款自动化测试工具:Katalon Studio。  1. Katalon Studio介绍  Katalon Studio 是一款在网页应用、移动和网页服务...
            0 0 497
            分享
          • 一、Appium加载的过程图解Appium的原理WebDriver script:我们的测试脚本(java or python)Appium:会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(注意这里的请求不是整个脚本文件,而是对应的命令请求,比如:点击一个元素就是一条请求)Bootstrap.jar:监听4724端口由appium发送过来的相关请求,并且将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理二、初步认识appium工作过程appium是c/s模式的 appi...
            0 0 1138
            分享
          • 51Testing软件测试圈7月更文计划已经落下帷幕!感谢大家参与!本次更文活动时间从2022年7月6日——2022年8月6日!合计参加更文活动的作者11名,其中更文的作者共计9名,合计更文137篇。经过评审老师的加急审核,其中筛选出优质文章37篇,详细更文情况如下:序列作者名称更文篇数符合要求文章优质文章1Carl_奕然2626262 王鑫252103Lee232304程序员阿常232105豆秸161496Charles101007yvanna157708米果橙柠4409爱测角332获奖名单恭喜:姓名更文篇数活动规则获得奖品Carl_奕然26发布文章篇数≥21小米电吹风机一个王鑫2...
            9 10 7032
            分享
      • 51testing软件测试圈微信