了解下安全漏洞扫描工具AppScan

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地址,是否含有信用卡号码等,如果我们觉得这些信息,显示在页面上是正常的业务需要, 我们就可以取消掉这些规则,所以扫描规则也很大程度上影响着我们的扫描效率。

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

时间: 2024-10-31 21:46:01

了解下安全漏洞扫描工具AppScan的相关文章

【收藏】十大Webserver漏洞扫描工具

如今有很多消息令我们感到Web的危急性,因此,当前怎样构建一个安全的Web环境成为网管员和安全管理员们义不容辞的责任.可是巧妇难为无米之炊,该选择哪些安全工具呢? 扫描程序能够在帮助造我们造就安全的Web网站上助一臂之力,也就是说在黑客"黑"你之前,先測试一下自己系统中的漏洞.我们在此推荐十大Web漏洞扫描程序,供您參考. 1. Nikto 这是一个开源的Webserver扫描程序,它能够对Webserver的多种项目(包含3500个潜在的危急文件/CGI,以及超过900个server

XSS漏洞扫描工具:BruteXSS

下载Brute,一个xss漏洞扫描工具:https://codeload.github.com/shawarkhanethicalhacker/BruteXSS/legacy.zip/master 我是丢在python目录下 下载四个攻击字典:https://github.com/ym2011/penetration/tree/master/BruteXSS,可以点击Raw,然后另存为. 进cmd窗口,切换目录到BruteXSS下,运行brutexss.py 选择get还是post,我这里填了g

web漏洞扫描工具AWVS使用

AWVS AWVS简介:Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞,如交叉站点脚本,sql 注入等.在被黑客攻击前扫描购物车,表格.安全区域和其他Web应用程序.75% 的互联网攻击目标是基于Web的应用程序.因为他们时常接触机密数据并且被放置在防火墙之前. AWVS的主要功能 Web Scanner 核心功能 web安全漏洞扫描 Site Crawler 爬虫功能 遍历站点目

Web漏洞扫描工具(批量破壳、反序列化、CMS)?

web漏洞扫描工具 一,Nikto,一款开源软件,不仅可用于扫描发现网页文件漏洞,还支持检查网页服务器和CGI的安全问题.它支持指定特定类型漏洞的扫描.绕过IDC检测等配置.该工具已集成于Kali Linux系统. nikto可以扫描软件版本信息,存在安全问题的文件,服务器配置问题,WEB Application层面的安全隐患,避免404误判等 扫了一下我自己的网站,好多问题...有XST攻击(XST是利用XSS和HTTP TRACE方法的组合.),apache的MultiViews利用 Mul

Backtrack5常用的漏洞扫描工具

网站漏洞扫描工具:主要应用网站漏洞扫描工具,其原理是通过工具通过对网站的代码阅读,发现其可被利用的漏洞进行告示,通过前人收集的漏洞编成数据库,根据其扫描对比做出. http://job.veryeast.cn/2231201/722259http://job.veryeast.cn/2231201/722258http://job.veryeast.cn/2231201/722257http://job.veryeast.cn/2231201/722256http://job.veryeast.

使用nikto漏洞扫描工具检测网站安全

如何使用Nikto漏洞扫描工具检测网站安全:http://trustsec.blog.51cto.com/305338/58675/ Nikto:http://baike.baidu.com/link?url=pGsl4o3DSTJHIoDT39lidhV6i6yzCxG_djbRcKZY9Wy8tnZj29kzK62S0yGqvZnwTv6upXbX4vrPhgfqOQPqcq

SQLiScanner:一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具

项目地址:SQLiScanner 简介 叕一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具 从内部安全平台 分离出来的一个模块, 支持 Har 文件的扫描(搭配 Charles 使用: Tools=>Auto Save) 特性 邮箱通知 任务统计 sqlmap 复现命令生成 依赖 Python 3.x Django 1.9 PostgreSQL Celery sqlmap redis 支持平台 Linux osx 截图 安装 克隆项目到本地 git clone https://

IBM扫描工具AppScan漏洞“已解密的登陆请求”修复解决方案

最近在修复系统漏洞时,使用新版AppScan扫描IIS站点(WebForm)出现一个严重漏洞“已解密的登陆请求”. 扫描工具修复的建议为在登陆界面不使用含“password”类型的控件或加密录入参数. 按其所给的建议,我做了如下修改:将password控件修改为textbox控件.使用js替换输入的内容.并将录入的结果录入到隐藏控件中提交时去隐藏控件的值. 修改后部署更新站点重新扫描并不能解决问题. 通过百度.bing等搜索工具找了一下两个解决方案: 1.站点登陆采用ssl方式 2.对登陆请求的

linux漏洞扫描工具【lynis】

Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议.这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置. 特征: 漏洞扫描 系统加固 入侵检测 中心管理 自定义行为规划 报告 安全面板 持续监测 技术支持 目标: 自动安全审计 符合性测试 漏洞侦测 有助于: 配置管理 软件补丁管理 系统加固 渗透测试 恶意软件扫描 入侵检测 1.安装软件包 # yum --enablerepo=epel -y install ly