如何从0到1做一次完整的安全测试(上)

发表于:2023-6-15 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:白鹤    来源:知乎

  一、为什么要做安全测试
  (一)背景概述
  随着互联网应用的普及,软件安全性越来越重要了。公司的产品在线上有些小的功能性Bug,可能就是体验性不好,引发用户的一些吐槽,损失一点用户,问题不大,可以不断改进。
  但是如果产品有高危漏洞,不小心被黑客袭击,导致服务器瘫痪或资金损失,重要数据泄露和丢失,或者服务器资源被黑客恶意利用,导致公司业务无法正常运转或损失惨重,后果将不堪设想。
  (二)原因剖析
  大家可以稍微留意下,规模稍微大点的公司,一般会有专门的安全测试团队或者请乙方安全公司来进行安全测试。
  实际上,安全团队也是利用安全扫描工具进行扫描,扫描出来的漏洞大多是常见的SQL注入,跨站点请求伪造CSRF,跨站点脚本攻击XSS等等。想着工具的学习成本也不高,于是在领导的号召下,在公司内部开启了一轮从0到1的安全测试。
  二、安全测试的详细方法
  (一)测试工具
  AppScan,即 AppScan standard edition。其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试。
  简单理解,就是AppScan工具先抓取出所有的接口,接着利用自身的安全用例库,对接口传各种参数,验证接口是否有安全漏洞。
  (二)测试步骤
  基本思路:自动探索--特殊配置--手动探索--仅测试--导出报告。
  以测试一个Web应用为例,介绍一次完整的安全测试流程。
  1、打开AppScan,文件--新建--扫描Web应用程序。
  2、填写起始URL地址
  这里有个坑:填写登录页面的地址,最好是未登录之前,因为有的页面没有做重定向处理,后续测试的时候会一直提示登录。
  比如登录页面的地址是https://XXX/Login,最好别填登录进去后的某个地址例如:https://XXX/Login/index
  3、填写登录管理信息
  登录系统的方式,有三个选项:
  ①记录:点击“记录”按钮,进行录制登录操作。操作类似于用LR做脚本录制,适用于没有验证码的场景。
  ②自动:输入用户名和密码,扫描时会自动根据这个凭证登录应用程序,推荐没有验证码时,使用该场景。
  ③提示:根据扫描地址,每次需要登录时会弹出相应登录页面,如遇后台登录有验证码时推学使用此场景。
  记录和自动的差别不大,都是适用于没有验证码的场景,而且都只需要输入一次用户名和密码,不同之处在于「记录」是在浏览器登录页面输入密码,「自动」是直接在AppScan的页面输入密码。
  4、测试策略
  在实际测试过程中,要完整的测试就选「完成」策略,一般情况下选「缺省值」策略。
  简单介绍下7种测试策略:
  ①缺省值:包含多有测试,但不包含侵入式和端口侦听器
  ②仅应用程序:包含所有应用程序级别的测试,但不包含侵入式和端口侦听器
  ③仅基础结构:包含所有基础结构级别的测试,但不包含侵入式和端口侦听器
  ④侵入式:包含所有侵入式测试(可能影响服务器稳定性的测试)
  ⑤完成:包含所有的AppScan测试
  ⑥关键的少数:包含一些成功可能性较高的测试精选,在时间有限时对站点评估可能有用
  ⑦开发者精要:包含一些成功可能性极高的应用程序测试的精选,在时间有限时对站点评估可能有用。
  5、测试优化
  默认即可。
  6、完成
  实际测试项目中一般先选择自动“探索”启动,因为还需要设置后面的排除链接,有些接口是不适合做大量测试的,例如一些外部接口,对接的外部项目的线上接口,如果进行测试后,会产生大量的线上脏数据。
  有四个选项:
  ①启动全面自动扫描:会自动探索URL,而且边探索边扫描页面,也就是边扫描边测试
  ②仅使用自动“探索”启动:自动探索URL,不做扫描,只是探索出所有的接口,不对接口进行任何操作
  ③使用“手动探索”:手动去访问页面,AppScan会自动记录你访问页面的url
  ④我将稍后启动扫描:AppScan不做任何操作,需要自己手动去启动扫描。
  7、保存文件
  8、进行第一遍的探索结果
  9、操作系统参数设置
  根据被测系统,在配置--扫描配置~-环境定义,修改操作系统相关参数。
  10、屏蔽设置
  根据被测系统,在配置-扫描配置--环境定义,可排除不需要测试的接口。
  在扫描过程中,有些需要排除的接口,例如登出接口,与外部项目对接产生大量生成脏数据的接口等等,可以设置进行排除。
  11、线程设置
  在测试过程中,应用服务出现性能过慢的问题,可在配置-扫描配置--.通信和代理中,适当调整线程数为2~5。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号