(二)AppScan使用教程
一、为什么要做安全测试
一)背景概述
随着互联网应用的普及,软件安全性越来越重要了。公司的产品在线上有些小的功能性Bug,可能就是体验性不好,引发用户的一些吐槽,损失一点用户,问题不大,可以不断改进。
但是如果产品有高危漏洞,不小心被黑客袭击,导致服务器瘫痪或资金损失,重要数据泄露和丢失,或者服务器资源被黑客恶意利用,导致公司业务无法正常运转或损失惨重,后果将不堪设想。
二)原因剖析
大家可以稍微留意下,规模稍微大点的公司,一般会有专门的安全测试团队或者请乙方安全公司来进行安全测试。实际上,安全团队也是利用安全扫描工具进行扫描,扫描出来的漏洞大多是常见的SQL注入,跨站点请求伪造CSRF,跨站点脚本攻击XSS等等。
想着工具的学习成本也不高,于是在领导的号召下,在公司内部开启了一轮从0到1的安全测试。
二、安全测试的详细方法
一)测试工具
AppScan,即 AppScan standard edition。其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试。
简单理解,就是AppScan工具先抓取出所有的接口,接着利用自身的安全用例库,对接口传各种参数,验证接口是否有安全漏洞。
二)测试步骤
基本思路:自动探索--特殊配置--手动探索---仅测试--导出报告。
以测试一个Web应用为例,介绍一次完整的安全测试流程。
1.新建扫描:一般选择 常规扫描
2.选择扫描的平台:web或app
3.扫描配置向导
①配置URL和服务器
②配置登录管理
在扫描的过程中,可能会不小心碰到退出按钮导致Appscan注销.因此,要登陆到应用程序中,我们需要根据需求设置。
在测试的web没有验证码情况下,可以使用
登录系统的方式,有三个选项:
1)记录:点击“记录”按钮,进行录制登录操作。操作类似于用LR做脚本录制,适用于没有验证码的场景。
2)自动:输入用户名和密码,扫描时会自动根据这个凭证登录应用程序,推荐没有验证码时,使用该场景。
3)提示:根据扫描地址,每次需要登录时会弹出相应登录页面,如遇后台登录有验证码时推荐使用此场景。
记录和自动的差别不大,都是适用于没有验证码的场景,而且都只需要输入一次用户名和密码,不同之处在于 「记录 」是在浏览器登录页面输入密码,「自动 」是直接在AppScan的页面输入密码。
记录:选择此项后,会出现一个新的浏览器,并尝试链接到指定的网站作为本扫描的起始URL.你需要输入账号和密码登陆到应用程序.这样设置之后你可以关闭浏览器,但是不要点击注销按钮。有时候你会发现打开的浏览器不是IE或者Mozilla,而是Appscan浏览器.你可以改变通过设置来改变这个。工具-->Options -->Advanced,设置OpenIEBrower的值0--Appscan浏览器,1--IE,2--Firefox,3--Chrome.如果该网站的行为在不同的浏览器下有所不同,这个设置将是非常有用的.
提示:每次注销之后,Appscan会提示你登陆到应用程序中.如果你打算整个扫描你的系统,你可以选择这个选项。
自动:在这里可以直接指定用户名和密码,当需要登陆到应用程序的时候。
自带的浏览器无法打开一些网站,使用外部浏览器去打开
③测试策略
在实际测试过程中,要完整的测试就选「完成」策略,一般情况下选「缺省值」策略。
扫描期间,AppScan® 发送的测试数量可以达到数千。有时,最好将扫描限制在仅扫描特定类型,以减少扫描时间。这是“测试策略”。几种测试策略说明:
缺省值:包含多有测试,但不包含侵入式和端口侦听器
仅应用程序:包含所有应用程序级别的测试,但不包含侵入式和端口侦听器
仅基础结构:包含所有基础结构级别的测试,但不包含侵入式和端口侦听器
侵入式:包含所有侵入式测试(可能影响服务器稳定性的测试)
完成:该策略包含所有 AppScan 测试,但端口侦听器测试除外。
关键的少数:包含一些成功可能性较高的测试精选,在时间有限时对站点评估可能有用
开发者精要:包含一些成功可能性极高的应用程序测试的精选,在时间有限时对站点评估可能有用
仅第三方:该策略包含所有第三方级别测试,但侵入式和端口侦听器测试除外。
生产站点:此策略“排除”可能损坏站点的侵入式测试,或测试可能导致“拒绝服务”的其他用户。
Web Services:该策略包含所有 SOAP 相关的非侵入式测试。
④完成
选择--启动全面自动扫描,点击【完成】按钮。
4.启动扫描专家
扫描专家会先大致的探索被测网站,提出建议,以更好的扫描应用程序。