web安全测试---AppScan扫描工具

 

  安全测试应该是测试中很是重要的一部分,但他经常最容易被忽视掉。html

  尽管国内常常出现各类安全事件,但没有真正的引发人们的注意。不论是开发仍是测试都不太关注产品的安全。固然,这也不能怪咱们苦B的“民工兄 弟”。由于公司的所给咱们的时间与精力只要求咱们对产品的功能的实现以及保证功能的正常运行。一方面出于侥幸心理。谁没事会攻击我?web

     关于安全测试方面的资料也不多,不少人所知道的就是一本书,一个工具。面试

  一本书值《web安全测试》,这应该是安全测试领域维数很少又被你们熟知的安全测试书,我曾看过前面几个章节,唉,鄙视一下本身,作事总喜欢虎 头蛇尾。写得很是好,介绍了许多安全方面的工具和知识。我以为就算你不去作专业的安全开发\测试人员。起码能够开阔你的视野,使你在作开发或测试时可以考 虑到产品安全方面的设计。防患于未然老是好的,若是你想成为一个优秀的人。安全

  一个工具,其实本文也只是想介绍一下,这个工具----AappScan,IBM的这个web安全扫描工具被许多人熟知,相关资料也不少,由于 我也摸了摸它的皮毛,因此也来人说两句,呵呵!提及sappScan,对它也很有些感情,由于,上一份工做的时候,我摸过于测试相关的许多工 具,AappScan是其它一个,当时就以为这工具这么强大,并且还这么傻瓜!!^_^! 因而,后面在面试的简历上写了这个工具,应聘如今的这家公司,几轮面试下来都问到过这个工具,由于如今这家公司一直在使用这个工具作安全方面的扫描。我想 能来这家公司和我熟悉AappScan应该有一点点的关系吧!呵呵app

 

AappScan下载与安装

 

IBM官方下载;http://download2.boulder.ibm.com ... 2-AppScan_Setup.exejsp

    本链接为7.8 简体中文版本的工具

破解补丁;http://www.vdisk.cn/down/index/4760606A4753web安全

     破解补丁中有相应的注册机与破解步骤,生成注册码作一下替换就OK了,这里不细说。测试

  AppScan实际上是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的AppScan source edition,到针对WEB应用进行快速扫描的AppScan standard edition.以及进行安全管理和汇总整合的AppScan enterprise Edition等,咱们常常说的AppScan就是指的桌面版本的AppScan,即AppScan standard edition.其安装在Windows操做系统上,能够对网站等WEB应用进行自动化的应用安全扫描和测试。优化

 

使用AppScan来进行扫描

咱们按照PDCA的方法论来进行规划和讨论; 建议的AppScan使用步骤:PDCA: Plan,Do,check, Action and Analysis.

 

计划阶段:明确目的,进行策略性的选择和任务分解。

1)  明确目的:选择合适的扫描策略

2)  了解对象:首先进行探索,了解网站结构和规模

3)  肯定策略:进行对应的配置

a)   按照目录进行扫描任务的分解

b)   按照扫描策略进行扫描任务的分解

 

执行阶段:一边扫描一遍观察

4)  进行扫描

5)  先爬后扫(继续仅测试)

 

检查阶段(Check)

6)  检查和调整配置

 

结果分析(Analysis)

7)  对比结果

8)  汇总结果(整合和过滤)

 

AppScan的工做原理

  

  当咱们单击“扫描”下面的小三角,能够出现以下的三个选型“继续彻底扫描”,“继续仅探索”,“继续仅测试“,有木有?什么意思? 理解了这个地方,就理解了AppScan的工做原理,咱们慢慢展开:

尚未正式开始,因此先无论“继续“,直接来讨论’彻底扫描”,“仅探索”,“仅测试”三个名词: 

  AppScan是对网站等WEB应用进行安全攻击,经过真刀真枪的攻击,来检查网站是否存在安全漏洞;既然是攻击,确定要有明确的攻击对象吧, 好比北约如今的对象就是卡扎菲上校还有他的军队。对网站来讲,一个网站存在的页面,可能成千上万。每一个页面也均可能存在多个字段(参数),好比一个登录界 面,至少要输入用户名和密码吧,这就是一个页面存在两个字段,你提交了用户名密码等登录信息,网站总要有地方接受而且检查是否正确吧,这就可能存在一个新 的检查页面。这里的每一个页面的每一个参数均可能存在安全漏洞,全部都是被攻击对象,都须要来检查。

  这就存在一个问题,你领命来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,你可能很不明确,如何知道这些信 息? 看起来很复杂,盘根错节;那就更须要找到那个线索,提纲挈领; 那就想想,访问一个网站的时候,咱们须要知道的最重要的信息是哪一个?网站主页地址吧? 从网站地址开始,不少其余频道,其余页面均可以连接过去,对不对,那么可不能够有种技术,告诉了它网站的入口地址,而后它“顺藤摸瓜”,找出其余的网页和 页面参数? OK,这就是”爬虫” 技术,具体说,是”网站爬虫“,其利用了网页的请求都是用http协议发送的,发送和返回的内容都是统一的语言 HTML,那么对HTML语言进行分析,找到里面的参数和连接,纪录并继续发送之,最终,找到了这个网站的众多的页面和目录。这个能力AppScan就提 供了,这里的术语叫“探索”,explorer,就是去发现,去分析,了解未知的,记录。

  在使用AppScan的时候,要配置的第一个就是要检查的网站的地址,配置了之后,AppScan就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简单说,了解了你的网站的结构。

  “探索”了解了,测试的目标和范围就大体肯定了,而后呢,利用“军火库”,发送导弹,进行安全攻击,这个过程就是“测试”;针对发现的每一个页面 的每一个参数,进行安全检查,检查的弹药就来自AppScan的扫描规则库,其相似杀毒软件的病毒库,具体能够检查的安全攻击类型都在里面作好了,咱们去使 用便可。

  那么什么是“彻底测试呢”,彻底测试就是把上面的两个步骤整合起来,“探索”+ “测试”;在安全测试过程当中,能够先只进行探索,不进行测试, 目的是了解被测的网站结构,评估范围; 而后选择“继续仅测试”,只对前面探索过的页面进行测试,不对新发现的页面进行测试。“彻底测试”就是把两个步骤结合在一块儿,一边探索,一边测试。

上图更容易理解:

步骤1:探索(爬行,爬网)

步骤2:真对找到的页面进行测试,生成安全攻击

 

AppScan扫描大型网站

  常常有客户抱怨,说AppScan没法扫描大型的网站,或者是扫描接近完成时候没法保存,甚至保存后的结果文件下次没法打开?;同时你们又都很奇怪,做为一款业界出名的工具,如此的脆弱?是配置使用不当仍是本身不太了解呢?咱们今天就一块儿来讨论下AppScan扫描大型网站会遇到的问题以及应对。

  什么叫大型网站,顾名思义,网站规模大,具体说是页面不少,内容很全。好比www.sina.com.cn,好比http://music.10086.cn/, 都包括上万个页面。并且除了这个,可能还有一个特色---页面参数多,即要填写的地方多,和用户的交互多;好比一个网站若是都是静态页面 (.html,.jpg等),没有让用户输入的地方,那么能够利用,能够做为攻击点的地方也就很少。若是页面处处都是有输入,有查询,要求用户来参与的, 你输入的越多,可能泄露的信息也越多,可能被别人利用的攻击点也就越多,因此和页面参数也是有关系的。AppScan声称测试用例的时候,也是根据每一个参 数来产生的,简单说,若是一个参数,对应了200个安全攻击测试用例,那么一个登录界面至少就对应400个了,为何?登录界面至少有用户名和密码两个字 段吧? 每一个字段200个攻击用例。

 

这个简单吧,还能够更复杂:若是遇到下面的两个地址,那要扫描多少次呢?

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=1

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=2

上面的两个地址有相似的,“?”号之前的URL地址彻底同样,”?”号后面带的参数不一样,这种能够认为是重复页面,那么对于重复页面,是否要重复测试呢?

这取决于“冗余路径设置”,默认的是最多测试5次;即,这种类型URL出现的前5次,那么就是要测试1000个攻击用例了。

 

若是再继续修改下:遇到下面的URL呢

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=1&Item=open

http://www.cnblogs.com/fnng/focus/satisfy/file.jsp?id=2&Item=close

每一个URL里面都有2个参数,测试的次数就更多了。想象下,若是这个网页里面的参数若是是10个,或者更多的呢?好比不少网站提交注册信息的时候,要填写的内容足够多吧?

要进行的安全测试用例也就随之不断增长…

 

  这是网站规模的影响,还有一个问题,就出在“每一个参数,发送200个安全测试用例”这个假设上。这个假设的前提来源于哪里? 来源于咱们选择的扫描规则库。即你关心那些安全威胁,这个须要在测试策略里面选择。一样来参照杀毒软件,你会用杀毒软件来查找一些专用的病毒吗,好比 CIH,好比木马;应用安全扫描也是同样的道理,若是有明确的安全指标或者安全规则范围,那么就选择之。这些可能来源于企业的规范,来源于政府的法律法 规。就要根据你的理解,在这里选择。

  不少时候,咱们也很难在最开始的阶段,就把扫描规范制定下来,按照项目经理们的口头禅“渐进明细”,“滚动式规划”,在实践中,更多时候也是摸着石头过河,选择了一个扫描策略,而后根据结果分析,看是否须要调整,不断优化。好比选择默认的“缺省值’扫描策略,对网站进行扫描,发现其”敏感信息“里面会去检查页面上是否含有Email地址,是否含有信用卡号码等,若是咱们以为这些信息,显示在页面上是正常的业务须要, 咱们就能够取消掉这些规则,因此扫描规则也很大程度上影响着咱们的扫描效率。

=====================

   注:本文复制网上一篇文章内容过多,不会发表到博客园首页,只在本博客显示。

相关文章
相关标签/搜索