Appscan_web安全测试工具 (含修改启动浏览器的方法)

 

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

 

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

 

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

 

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

 

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

 

 

 

AappScan下载与安装

 

 

 

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

 

    本连接为7.8 简体中文版本的

 

破解补丁;http://www.vdisk.cn/down/index/4760606A4753

 

     破解补丁中有相应的注册机与破解步骤,生成注册码做一下替换就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地址,是否含有信用卡号码等,如果我们觉得这些信息,显示在页面上是正常的业务需要, 我们就可以取消掉这些规则,所以扫描规则也很大程度上影响着我们的扫描效率。

 

 

 

     这里主要分享如何使用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)。

 

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

 

 

 

安全测试挺有前途的,国内起步很晚,这两年才逐渐受到重视。公司也越来越重视安全。

 

使用分享参照虫师:

http://www.cnblogs.com/fnng/archive/2012/10/09/2717568.html

工具简单讲解参照虫师:

http://www.cnblogs.com/fnng/archive/2012/05/27/2520594.html

 

 

   
 

@ 流年细雨
发现很多人都需要这个东西,我分享一下。方便大家
链接:http://pan.baidu.com/s/1sl2pRA1 
密码:z2xs
LicenseProvider.dll 文件为破解包
安装好之后找到安装目录覆盖同名文件即可

安装的时候要把杀毒软件关掉,不然安装不成功

 如果出现无法写入键的问题,在虚拟机里面安装 就可以用了

转载于:https://www.cnblogs.com/kaibindirver/p/8287857.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传说之下地图素材_【开阔眼界】地图上的史记——名著轻松读

购买链接:https://j.youzan.com/Zns-38我读了无数次《史记》,每次都是读了开头没几页就放弃,文言文看不懂,翻译的白话文内容又太枯燥,现在居然有图画版的史记,还附有说明,真是太好了&#xff0c…

go int 转切片_「快学 Go 语言」第 4 课——低调的数组

数组就是一篇连续的内存,几乎所有的计算机语言都有数组,只不过 Go 语言里面的数组其实并不常用,这是因为数组是定长的静态的,一旦定义好长度就无法更改,而且不同长度的数组属于不同的类型,之间不能相互转换…

从XaaS到Java EE – 2012年哪一种该死的云最适合我?

您是否曾经想过要让Java EE在某个地方启动和运行需要什么? 是的 多年。 从托管我自己的主机开始,转到一些托管产品 ,最后偶然发现了PaaS运动。 老实说,我并没有太认真。 我只是想把我的东西放到某个地方,而不在乎解决…

正方体最快最简单画_素描新手入门第一幅画可不只是“正方体”

很多素描教程都把正方体作为入门第一幅画学习内容。这种现象也成了约定俗成的规矩但是,学过画画的人大概都知道有很多人画了多年石膏几何形、静物、人头像甚至半身像全身像。到最后落得只会画这些学过的东西。这就说明学习出了问题。绘画练习一定要弄清楚每个物体练…

VS2015配置内核WDK7600环境,32位下.

VS2015配置内核WDK7600环境,32位下. 学习内核驱动的编写,就要会配置环境.不然总是用记事本编写.比较不方便. 环境配置如下. 1.首先下载WDK7600, 课堂资料代码中已经上传.链接:https://pan.baidu.com/s/1o9PjpUU 密码:k5sp 2.VS2015下载. 这个网络上有很多…

我的改进版2048(1)

(假设有谁想要这个软件的话,在评论中留一个邮箱吧。) 前几天好几次看到有朋友晒出玩2048刷高分的截图。我就想我能不能也做一个2048呢?细致想了想2048游戏的规律,发现事实上逻辑上非常easy,也不用研究什么算…

2020年市场最缺什么_2020年聚合氯化铝市场评述

2020年聚合氯化铝市场评述一、行情概述:今年聚合氯化铝价格整体呈下滑趋势,接近年底价格才有小幅反弹。但不同时期价格有小幅起伏,主要受疫情影响,在下游需求不佳的影响下价格出现下滑。1月受疫情影响,前期停产企业短期…

通过反射来将一个类的内容转换到另外一个类里

主函数: import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.ValueFilter;import com.google.common.base.Preconditions; import java.lang.reflect.Field;import java.lang.reflect.Modifier; public class leijun {public static void ma…

开发辅助 | 阿里图标库iconfont入门使用

目前大多数的互联网公司,前端开发和UI设计师配合中,针对设计师给图的效果图,前端开发工程师不再像往常一样对于细小图标进行切图,取而代之的是引用阿里图标库(http://iconfont.cn/);简单的临时开…

计量经济学建模_一分钟看完计量经济学

建模是计量的灵魂,所以就从建模开始。一、建模步骤建模步骤:A,理论模型的设计: a,选择变量b,确定变量关系c,拟定参数范围B,样本数据的收集: a,数据的类型b,数据的质量C&a…

制图折断线_【机械制图】机械设计中的尺寸标注,看懂复杂机械图纸!

专注于机械行业、专业、职业信息分享服务于制造业百万工程师推荐阅读【机械制图】画图这么久,线型都没搞懂?【机械制图】机械图纸知识解析,这个总结溜溜的【机械制图】机械图纸尺寸标注规则,通过动图复习一下!知名机械…

CCS3的过渡、变换、动画以及响应式布局、弹性布局

CSS3 过渡 、变换、动画 在没有CSS3之前,如果页面上需要一些动画效果,要么你自己编写 JavaScript,要么使用 JavaScript 框架(如 jQuery)来提高效率。 但是CSS3出来之后,有能力做一些如平滑过渡(比如在鼠标悬停时)和在屏幕上移动元…

BZOJ2659: [Beijing wc2012]算不出的算式

2659: [Beijing wc2012]算不出的算式 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1489 Solved: 891[Submit][Status][Discuss]Description 算不出的算式 背景: 曾经有一个老掉牙的游戏放在我面前,我没有珍惜。直到这个游戏停产才追悔莫及。人世间…

go 修改结构体方法_「GCTT 出品」Go 系列教程——26. 结构体取代类

Go语言中文网,致力于每日分享编码、开源等知识,欢迎关注我,会有意想不到的收获!Go 支持面向对象吗?Go 并不是完全面向对象的编程语言。Go 官网的 FAQ 回答了 Go 是否是面向对象语言,摘录如下。可以说是&…

分组后分页_SQL(约束、视图、分页、序列、索引、同义词、创建用户,为用户授权、执行计划的使用 数据的导入导出)...

学习主题:SQL学习目标:掌握约束掌握视图修改表名与删除表删除表中的列语句的语法结构是什么?答:delete 表名from table where ;删除表中的列语句的语法结构是什么?答:delete 表名from table where ;截断表的…

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息...

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多网站,当你浏览器访问时看到的信息&#xf…

20170117小测

今天再次迎来了我们的例行考试。 T1: 首先我们考虑那些点是可以共存的,我们可以枚举一个质数做他们的gcd,然后把这些点放在一张图里求直径。所以我们要做的就是把这些点的值分解质因数,对每个质因数挂一个链,代表有那些…

iOS中Safari浏览器select下拉列表文字太长被截断的处理方法

网页中的select下拉列表&#xff0c;文字太长的话在iOS的Safari浏览器里会被自动截断&#xff0c;显示成下面这种&#xff1a; 安卓版的浏览器则没有这个问题。 如何让下拉列表中的文字在iOS的Safari浏览器里显示完整呢&#xff1f;答案是使用<optgroup></optgroup>…

Servlet 开发

1. Servlet &#xff08;很久远的东西&#xff0c;但是现在学习原理&#xff09; html css js 前端页面&#xff08;静态的&#xff09; form action ".html" Servlet 允许将action属性设置为映射&#xff0c;通过映射找到相关的Servlet class 进行数据的处理。…

CentOS 7 Flannel的安装与配置

1. 安装前的准备 etcd 3.2.9 Docker 17.12.0-ce 三台机器10.100.97.236, 10.100.97.92, 10.100.97.81 etcd不同版本之间的差别还是挺大的&#xff0c;使用V3版本跟Flannel整合起来会有坑&#xff0c;下文详解。 2. 安装 sudo yum install -y flannel 安装后&#xff0c;版本是0…