安全测试之AppScan

Posted 汪敏wangmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全测试之AppScan相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


安全测试

安全测试,是一种软件测试,用于发现软件应用程序中的漏洞/威胁/风险并防止来自入侵者的恶意攻击。目的是确定软件系统的所有可能漏洞和弱点,这些漏洞和弱点可能导致信息/收入损失,因此很多程序在上线发布之前,都会做响应的安全性测试,以确保程序正常无误,不会受外力的风险侵入。
安全测试的目标是识别系统中的威胁并衡量其潜在漏洞,以使系统不会停止运行或被利用。它还有助于检测系统中所有可能的安全风险,并帮助开发人员通过编码解决这些问题,维护程序稳定。

常用的安全测试工具:AppScan Burpsuite Nmap sqlmap

AppScan

定义

AppScan是IBM的一款web安全扫描工具,主要适用于windows系统。该软件内置强大的扫描引擎,可以测试和评估Web服务和应用程序的风险检查,根据网站入口自动对网页链接进行安全扫描,扫描后会提供扫描报告和修复建议等。

AppScan是IBM的一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等。AppScan有自己的用例库,版本越新用例库越全(用例库越全面,则对漏洞的检测越全面,被测试系统的安全性越高)

工作原理

通过搜索(爬行)发现整个web应用结构,验证-通过对于Response的分析验证是否存在安全漏洞;分析-根据分析,发送修改的HTTP Request进行攻击尝试(扫描规则库)

1.探索了解整个web页面结果
2.分析,使用扫描规则库对修改的http request进行攻击尝试
3.分析response来验证是否存在安全漏洞

安装版本选择

建议安装最新版本,部分版本对电脑要求会高一些,可能会出现不适配的情况,有IBM证书和HCL证书两种形式,两种形式对应不同的版本。如果下载的是需要导入IBM证书的版本,需要找到IBM证书进行导入;如果下载的是HCL的,则需要找到HCL进行导入。

扫无需登录的系统

对于无需登录的系统,进行浏览器扫描测试,可以看到仪表板清晰的展示了需要解决的问题,以及问题的严重等级程度。

比如严重等级高的问题,修改api接口的路径,响应结果是200,说明这个接口是能访问通畅的,那么也会造成严重的后果,对方可能通过这个接口进行无限的访问,增加服务器负荷,可能会导致系统瘫痪。

可以进行的解决方式:开发可以在代码中进行设置,除了正确的状态码之外的api请求,统一返回一个状态码即可,使之除了正确访问之外,其他的请求全部统一拦截。

扫带登录页面的系统

带登录页面的系统进行浏览器安全测试扫描:
1.配置浏览器参数
2.记录登录参数的cookie数据,记录登录状态,保持登录状态
3.配置测试策略
4.设置完成后,进行相关安全扫描

比如扫描的结果中修改的请求方式:原来请求方式是post被修改为了Delete类型,但是请求响应是OK 200
那说明url链接是存在一定风险的。

解决方式:通过修改返回状态码即可解决

扫带图形验证码的系统

登录-带图形的验证码的系统,如何进行安全扫描

因为每次登录验证码都会发生变更,经过测试有一下2种方式进行解决:
1.通过手动扫描的形式进行安全扫描测试
2.可以让开发修改代码,保证验证码始终生成的是同一个,可以通过设置cookie的形式进行安全扫扫描测试

因为图形验证码会一直更改,appscan无法记录准确的登录信息,所以目前未找到合适的解决方式,保持始终生成的验证码都是同一个

若扫描过程中,出现中断/卡顿/电脑宕机的情况,appscan自带扫描记忆,下次扫描会从中断的地方进行再次扫描。

当出现登录信息获取不到,观察接口响应,出现异常,手动退出,重新进行扫描

扫描完成后可输出相应的安全测试报告,报告中详细解读了产生的原因,并给出了解决方案和方式,报告很详细,中英文都有
安全测试报告中,从介绍/摘要/问题分类/修订建议/咨询/应用程序数据几个方面详细描述了测试结果。

对于日常系统中,appscan是可以很好的解决一部分潜在的安全性问题,可以帮助前端后端同学,更好的设计代码和代码架构,提升IT产品安全质量,尽可能在发布之前找到安全问题予以修补降低成本度量安全,保证软件系统不被非法入侵,不受各种因素的干扰。

Appscan还有很多安全测试策略,可供各种安全扫描

AppScan使用分享

这里主要分享如何使用AppScan对一大项目的部分功能进行安全扫描。

------------------------------------------------------------------------ 

  其实,对于安全方面的测试知道的甚少。因为那公司每个月要求对产品进行安全扫描。掌握了一人点使用技巧,所以拿来与大家分享。

  因为产品比较大,功能模块也非常之多,我们不可能对整个产品进行扫描。再一个每个测试员负责测试的模块不同。我们只需要对自己负责测试的模块扫描即可。

  扫描工具自然是IBM AppScan  ,功能强大,使用简单。略懂安全测试的都使用或听说过这个工具。这里就不过多介绍了。

 

抽取被扫描功能的链接                                                             

  

  首先要抽取扫描的链接。fiddler工具来抽取。打开系统,找到你需要做扫描的功能模块,开启fiddler拦截功能,然后对你所要测试的功能做各种操作,fiddler就会记录的所有访问的链接,因为涉及到隐私,所以下图会比较模糊。

其实,请求中有非常多的链接,但许多是一样,我们只要把不一样的全找出来就可以了。这里你需要知道每个连接的情况。也有一些外部链接是不需要抽取的。

 

复制代码
aaa.bbb.cn
g2.aaa.bbb.cn
g1.aaa.bbb.cn
webapp.aaa.bbb.cn
uec.aaa.bbb.cn
addrapi.aaa.bbb.cn
smsrebuild1.aaa.bbb.cn
disk2.aaa.bbb.cn
mw.aaa.bbb.cn
scriptlog.aaa.bbb.cn
images.139cm.com
appmail.aaa.bbb.cn
gfile5-disk.aaa.bbb.cn
gfile8-disk.aaa.bbb.cn
gfile7-disk.aaa.bbb.cn
复制代码

把所有链接抽取出来之后就没几个了。去掉重复的就没多少了。

 

 

 完成配置向导                                                                          

 

  下面打开appscan创建扫描。(关于appascan的下载安装与破解、介绍,我在另一篇博文已讲)

选择常规扫描,进入配置向导。点击下一步,进入配置

 

上面这一步是重点,起始URL填写你要扫描的网址。其它服务器和域:这里把抽取的所有链接都添加进去。包括后网站的首页链接。点击下一步。

 

这里提供三种方式来记录帐号,不多介绍。第一种和第三种最常用。

 

然后点击几个下一步后出现后面的选项,选择第三个或第四项完成扫描的配置。

 

 

 录制扫描脚本                                                                        

 

  完成配置后,下面就要开始录制脚本了呢。

  点击工具栏上的探索按钮,appscan会打开自带浏览器,输入系统用户名密码登录系统,对你要扫描的模块功能进行操作。

上图为我打开的appscan自带浏览器(因为我输入的网址有误,所以无法访问)。操作完成之后,点击暂停按钮,关闭浏览器窗口即可。

 

  关闭浏览器后,上面的窗口中会记录所有你访问的连接,点击确定。所有的信息就会记录下来了,下面要做的点击点击工具栏上的扫描按钮开始扫描。我们一般晚上下班进行,第二天早上来看扫描结果就可以了。

 ------------------------------------

  本来到这里就可以结束了,我再多说个设置。呵呵!在手动探索的时候,因为打开的浏览器是appscan自带的,可能会存在兼容性问题,有些页面无法正常打开。那么是否可以用我们电脑上的浏览器(IE 、火狐、谷歌)来进行录制呢了。当然是可以的。

菜单栏--工具---选项----高级

 

这个一定要大图,我们只需要修改openExternalBrowser 选项“值”的参数就可以了(1=IE、2=firefox、3=chrome)。

 

以上是关于安全测试之AppScan的主要内容,如果未能解决你的问题,请参考以下文章

AppScan使用分享

安全测试工具IBM Rational AppScan的使用教程

安全测试工具—AppScan的使用

BiliBili1024程序员节,安全攻防 1

Web漏洞扫描-Appscan安装配置及扫描

安全性测试AppScan工具使用实战