一、AppScan的工作原理

对一个综合性的大型网站来说,可能存在成千上万的页面。以登录界面为例,至少要输入用户名和密码,即该页面存在两个字段,当提交了用户名和密码等登录信息,网站需要检查是否正确,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,可能成为被攻击对象。AppScan正是通过按照设定策略和规则,对Web应用进行安全攻击,以此来检查网站是否存在安全漏洞。

在使用AppScan的时候,通过配置网站的URL网址,AppScan会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,即探索出网站的整体结构。通过“探索”可确定测试的目标和范围,然后利用AppScan的扫描规则库,针对发现的每个页面的每个参数,进行安全检查。

简言之,APPScan的工作原理如下:

1)通过“探索”功能,利用HTTP Request和Response的内容,爬行出指定网站的整个Web应用结构

2)AppScan本身有一个内置的漏洞扫描的规则库,可随版本进行更新。从探索出的url中,修改参数or目录名等方式,构造不同的url对照组向服务器发送请求or攻击

3)根据HTTP Response返回的内容,和正常请求所返回的响应作对比,是否产生差异性,而这种差异性又是否符合扫描规则库的设定规则,以此来判断是否存在不同类型的安全漏洞

4)若APPScan可判断存在安全漏洞,则对这些漏洞的威胁风险给出说明,进行严重程度提示,并给出修复的建议和方法,以及漏洞发现的位置提示

二、APPScan扫描操作教程

1.打开AppScan

2.文件-->新建-->创建新的扫描,如:常规扫描

3.进入配置向导页面,选择Web应用程序扫描,点击“下一步”

PS:若需要使用Web Service扫描功能,需要提前下载安装好GSC Web Services记录器

4.进入扫描配置向导页面,URL输入框的地址即为被测网址or其IP地址,如输入以下被测url,点击“下一步”

PS:1)可以打开AppScan内置浏览器查看被测链接是否能正常访问;2)以下被测网址为某个专门测试用的漏洞网站,非常规使用的网站

5.登录方法:根据实际需要选择(如:自动),用户名和密码即为被测网站的登录账户,点击“下一步”

PS:1)若登录方法选择“记录”,则可通过界面右侧的“记录(R)”按钮打开APPScan内置浏览器并输入登录信息,关闭内置浏览器后,AppScan即可记录该用户名和密码,扫描的时候相当于是已登录此账户的状态进行扫描;2)若选择“提示”,则根据网站扫描探索过程中需要登录会提示输入登录信息,人工输入正确的账号信息之后继续扫描;3)若选择“无”,则不需输入登录账户

6.选择适当的操作策略(一般保持默认选择,即“缺省值”),点击“下一步”

7.设置启动模式,根据实际需要选择(如:仅使用自动“探索”启动),点击“完成”,即可开始启动扫描or测试

PS:1)全面自动扫描:探索的同时,也进行攻击测试;2)仅自动“探索”:自动探索网站的目录结构,可被测的链接范围及数目,不作实际攻击测试;3)手动探索:先通过AppScan内置浏览器打开被测网站,手动点击不同的目录页面,然后AppScan记录之;4)稍后启动扫描:先把此次网站的扫描配置进行保存,后续若想扫描的时候再继续操作。

8.保存配置:比如点击“是”,将此次配置命名保存到指定文件夹下

 

9.待步骤8保存配置之后,即会自动跳转到扫描网站的界面开始扫描,一般扫描时间根据测试范围和策略有关,这里可以看到扫描进度

PS:扫描过程中,若扫描时间较长,可自动让其扫描,或者点击“暂停”-保存本次扫描,然后下次继续未扫描的过程;若直接点击右上角“×”关闭AppScan,则不会保存本次扫描的过程

10.扫描完成之后,可查看扫描的结果如下所示

11.点击“扫描”-“仅测试”,开始启动对此次探索结果的攻击测试

根据扫描测试过程中的APPScan工作情况,是否有扫描出安全漏洞,是否在扫描过程中进度受阻而不能继续扫描,是否覆盖到设定的url范围,对同一模块可重复扫描做对比,调整获得适合自己环境的配置

 

12.测试完成之后,保存本次AppScan扫描测试的结果;从统计出的安全性问题,可以查看对应的漏洞链接、请求和响应、修复建议

 

13.点击“报告”,创建不同要求的安全报告

 

三、AppScan使用特别注意事项【Important !】

【1】AppScan扫描过程中,会向服务器发送较多请求,会占用一定的正常请求访问的资源,可能导致一些垃圾数据,建议只在本地测试环境执行

【2】使用AppScan之前,请提前备份好数据库的数据,假若扫描致使服务器异常关闭,则需重启服务;若扫描产生的请求数据过多,或Web程序出现异常,可能需要从备份数据恢复还原。一般情况下,正常扫描Web程序很少可能出现Web服务异常的情形

【3】AppScan扫描配置时,有区分为Web Application(Web应用程序)和Web Service(Web服务)的扫描方向。若只对Web程序本身的漏洞检测,就选Web Application扫描即可;若选择Web Service扫描,则需提前告知服务器维护的负责人,建立异常情况发生的处理机制,最好避开访问请求的高峰or办公人员集中使用的时间,比如下班后自动扫描

 

【4】AppScan扫描的结果并不代表完全真实的情况,受限于所用扫描器版本的漏洞规则库的规则,以及操作者的配置策略,扫描过程中有可能会使得扫描器出现误判or漏测。如有必要,还需对扫描的结果进行人工校验,可对同一Web应用分次进行扫描对比差异性

【5】扫描配置时,一般按照默认的测试策略-WASC威胁分类即可;若服务器本身所能承受的性能压力不强,or存在较多漏洞的时候,不宜选择“侵入式”策略,该策略存在着可能会入侵服务器、关闭服务、破坏数据库等风险

 

【6】使用破解版的AppScan扫描Web应用时,若Web网站本身结构比较复杂、模块众多、涉及的url数目巨大(几万-十多万),则不宜一次性全站扫描,有可能连续扫描几个小时都不能探索完网站的所有结构。持续时间过长还可能造成AppScan出现卡顿,显示“正在扫描中”,但实际上已经没有继续再扫描。因此,当第一次探索了大概的网站结构和容量之后,若容量巨大,最好分而治之,按模块结构分次进行扫描测试

【7】结果分析(Analysis)

在APPScan扫描结果基础上,根据不同的严重级别进行排序、手工+工具验证的方式对漏洞验证可靠性,排除误报的情况,并尽可能找出漏报的情况,把本次扫描结果汇总,对以上已验证存在的安全漏洞排列优先级、漏洞威胁程度,并提出每个漏洞的修复建议

然后,再把此次安全漏洞整理的报告提交给项目负责人,由负责人决定哪些漏洞转给开发工程师修复,而后再由安全测试工程师进行回归验证修复的状况

AppScan工作原理&操作教程的更多相关文章

  1. AppScan 工作原理

    Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan source edition,到针对 Web 应用进行 ...

  2. Appscan工作原理详解

    AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试. Rational AppScan ...

  3. 中文转码器的工作原理_delphi教程

    最近在做Delphi下的简体与繁体转换, 发现Windows2000自带的工具"中文转码器"很好用, 不仅可以转内码(BIG5-->GBK), 还可以将繁体字转为简体字(如: ...

  4. 【AppScan】入门工作原理详解

    AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试.Rational AppScan( ...

  5. 如何更有效使用 Rational AppScan 扫描大型网站,第 1 部分: 工作原理及技术分析

    Rational AppScan 工作原理 Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan sourc ...

  6. AppScan入门工作原理详解

    AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试. Rational AppScan ...

  7. 【CC2530入门教程-06】CC2530的ADC工作原理与应用

    第6课  CC2530的ADC工作原理与应用 广东职业技术学院  欧浩源 一.A/D转换的基本工作原理 将时间上连续变化的模拟量转化为脉冲有无的数字量,这一过程就叫做数字化,实现数字化的关键设备是AD ...

  8. HDFS的工作原理(读和写操作)

    工作原理: NameNode和DateNode,NameNode相当于一个管理者,它管理集群内的DataNode,当客户发送请求过来后,NameNode会 根据情况指定存储到哪些DataNode上,而 ...

  9. C#微信开发小白成长教程一(公众平台的工作原理与调试环境部署,附视频)

    黑夜给了我黑色的眼睛,我决定录视频到天明.半年前的现在,我还在苦逼着加着班,半年后的今天我依旧苦逼着加着班.不过现在的是为自己加班,作为一个资深程序小白,一个月前我光荣的成了一个不称职的资本家,不称职 ...

随机推荐

  1. bit_length

    #当十进制用二进制表示时,最少使用的位数 v=2data=v.bit_length()print(data)

  2. (杭电 1014)Uniform Generator

    Uniform Generator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...

  3. js分片上传大文件,前端代码

    首先导入jQuery.form.js文件,下面src是相对于改js文件位置, <script type="text/JavaScript" src="jquery/ ...

  4. 008---vim编辑器

    vim 编辑器 三个模式 三个模式之间切换 图 命令模式进入编辑模式 A:行末 a:向后 i:向前 I:行首 o:向上 O:向下 命令模式 复制 yy:复制光标所在行 4yy:向下复制四行 剪切(删除 ...

  5. 【EXCEL】簡単に合計をとる方法

    下記のような表があるとして.合計を取るときみんなSUM関数を使用しています. その方法もよいですが.もっと簡単の方法を説明します. ①合計する部分を選択します. ②ALT+=を押します. ※ノートパソ ...

  6. AS 3.1 项目打包成jar或aar

    1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...

  7. 20145209刘一阳 《网络对抗》逆向及BOF基础实践

    直接修改程序机器指令,改变程序执行流程 在正式开始实践之前,先对pwn1文件做个备份,以便修改后可以及时恢复到初始状态: 使用指令objdump -d 20145209 | more对目标文件进行反汇 ...

  8. WPF程序,运行时,结束时,要运行的操作(自动保存,检查单程序)

    /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : Application { ...

  9. 转:asp.net mvc ef 性能监控调试工具 MiniProfiler

    MiniProfiler官网:http://miniprofiler.com/ MiniProfiler的一个特别有用的功能是它与数据库框架的集成.除了.NET原生的 DbConnection类,Mi ...

  10. Sql Server 2008R2中使用CET进行递归查询

            在使用数据库的过程中,我们经常会遇到递归的查询.比如传入一个分类ID,要查出这个分类下的所有子分类,以及子分类的子分类.或者说传入一个部门ID,要查出这个部门下所有子部门的人员:在Or ...