安全测试工具—AppScan的使用

时间:2022-09-15 18:23:17

什么是软件测试:通俗的讲:就是找软件的“茬”(bug),即发现程序错误,然后提交给开发人员修改并进行验证的一系列过程,以满足上线后系统能按期望的设计稳定、正确的运行。没有经过测试的软件是不可靠的,后果也是可以想象到的。

测试的作用:是在用户使用之前发现错误,测试工程师要站在用户的角度来发现错误,使用户拿到的产品质量更高,让用户更满意。

测试的目的:  
发现被测对象与用户需求之间的差异,即缺陷;
通过测试活动发现并解决缺陷,增加人们对软件质量的信心;
通过测试活动了解被测对象的质量状况,为决策提供数据依据;
通过测试活动积累经验,预防缺陷出现,降低产品失败风险。

测试的原则:
测试应尽早启动,尽早介入。发现的越早,修复的成本越低。通常项目立项就应该开始介入

一般来说:测试主要分为功能测试、性能测试、UI测试、安全测试等,其中最广泛的测试就是功能测试。

按不同维度又有不同的分类方法:
按阶段:单元测试、集成测试、系统测试、回归测试、α测试、β测试、验收测试;

按是否运行:静态测试、动态测试;

按代码可见:黑盒测试、白盒测试、灰盒测试;

按是否手工:手工测试、自动化测试;

其它:冒烟测试、随机测试…

安全测试工具—AppScan的使用

 

 

 

 

1、需求澄清阶段: 测试主要是参加需求评审会议,这个是由产品发起的,测试不需要提交交付件;

2、测试准备阶段: 需求澄清完了,就需要测试团队进行测试前的准备工作了,
  A、测试计划, 测试计划是在所有测试工作开展之前完成,主要是计划测试资源分配(硬件资源、软件资源、人力资源),测试规范制定(转测试规范、用例规范、bug规范), 测试范围的制定, 测试策略的制定, 测试时间的制定, 测试的风险预估及应对方法;
B、测试用例, 在执行测试前必须按要求把用例写好、并进行评审及修改;

3、测试执行阶段:
A、bug文档是测试执行阶段的交付件; 
B、测试用例执行结果是测试执行阶段的交付件;

4、测试结束阶段:
    测试报告:包括测试的内容、测试系统各个模块的质量,测试人力投入情况, 测试用例执行分析, bug 的分析,测试结论, 遗留问题及解决办法。

软件安全属于软件领域里一个重要的子领域。在以前的单机时代,安全问题主要是操作系统容易感染病毒,单机应用程序软件安全问题并不突出。但是自从互联网普及后,软件安全问题愈加显加突显,使得软件安全性测试的重要性上升到一个前所未有的高度。

一般来说,对安全性要求不高的软件,其安全性测试可以混在单元测试、集成测试、系统测试里一起做。但对安全性有较高需求的软件,则必须做专门的安全性测试,以便在破坏之前预防并识别软件的安全问题。

全称 IBM Security App Scan Standard ,是IBM公司出的一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告
和修复建议等。

工作原理: 
1)通过explorer(探索)了解整个web页面结构; 
2)通过分析,使用扫描规则库对修改的HTTP Request进行攻击尝试 ;
3)分析 Response 来验证是否存在安全漏洞。

安全测试工具—AppScan的使用

 

通过两个示例来对AppScan工具进行一个入门的使用:

1、测试一个网站
2、测试webApi接口

新建一个扫描

 安全测试工具—AppScan的使用

选择自动或手动,下一步

安全测试工具—AppScan的使用

 

输入起始URL,将从这个地址开始进行探索,下一步:

 

 

安全测试工具—AppScan的使用

 

选择登陆方法,这里面要看网站的登陆方式,主要是在探索网站过程中session超时,会自动进行登陆,以便继续探索

安全测试工具—AppScan的使用

 

 

 

 

 

记录:会打开网站登录页面,记录你登陆的过程 (有验证码的不适合);
提示:需要时,弹出登录页面,进行手动输入 (可以解决验证码问题);
自动:直接输入用户名、密码 (不适用有验证码的情况);
无:无需登录的情况(测试api等无需登陆的情况)。

 

下一步:

安全测试工具—AppScan的使用

 

 

 

 下一步:

 安全测试工具—AppScan的使用安全测试工具—AppScan的使用

 

 

扫描过程…

 

 安全测试工具—AppScan的使用

 

扫描完成

安全测试工具—AppScan的使用安全测试工具—AppScan的使用

 

 

四个漏洞等级
高、中、低、参考信息,每个问题后面都会有相应的问题描述和修订建议

安全测试工具—AppScan的使用

 

 

 

对于REST类型的web服务,主要有两种方法:
对调用服务的应用程序进行手工探索调用该服务,从而进行安全扫描;
利用代理使用“外部流量/客户机”进行安全扫描。

对于第一种情况

安全测试工具—AppScan的使用

 

下一步:

安全测试工具—AppScan的使用

 

 

 下一步:

注意:get方法的没问题,post的有参数的会有问题。
用post的接口使用第二种方式来进行

安全测试工具—AppScan的使用

 

第二种情况,使用postman作为外部工具,进行接口的测试,同时这种方式支持post的有参数的情况。
选择 外部设备/客户机选项

安全测试工具—AppScan的使用

 

下一步,并设置好外部客户机(postman,稍后会进行设置)要使用的代理端口

安全测试工具—AppScan的使用

 

下一步

 

安全测试工具—AppScan的使用

 

直接下一步,策略选择web Service:

 安全测试工具—AppScan的使用

 

下一步,点击完成:

 

 安全测试工具—AppScan的使用

 

弹出外部流量记录器:

安全测试工具—AppScan的使用

 

 

 这时,打开postman,进行代理设置,代理服务端口设成上面的51050

安全测试工具—AppScan的使用

 

使用postman进行接口的测试,这里进行了2个接口的测试,如下面

 

 安全测试工具—AppScan的使用安全测试工具—AppScan的使用

 

接口测试完成后,发现外部流量记录器记录了接口的操作, 点击 停止记录

安全测试工具—AppScan的使用

 

点击确定:

安全测试工具—AppScan的使用

 

 

 结果:

安全测试工具—AppScan的使用

 

 

 结果:

安全测试工具—AppScan的使用