您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页AppScan操作手册

AppScan操作手册

来源:意榕旅游网
AppScan操作⼿册

AppScan操作⼿册

1.SQL注⼊

1.1.什么是sql注⼊

所谓SQL注⼊(SQL Injection),就是利⽤程序员对⽤户输⼊数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从⽽收集程序及服务器的信息,获取想得到的资料(如数据库⽤户名、密码、表结构等)。

SQL注⼊是从正常的WWW端⼝访问,⽽且表⾯看起来跟⼀般的Web页⾯访问没什么区别,所以⽬前市⾯的防⽕墙都不会对SQL注⼊发出警报。动态⽣成Sql命令时没有对⽤户输⼊的数据进⾏验证是Sql注⼊攻击得逞的主要原因。

1.2.sql注⼊原理

攻击者会将⼀些恶意代码插⼊到字符串中,然后会通过各种⼿段将该字符串传递到SQLServer数据库的实例中进⾏分析和执⾏。只要这个恶意代码符合SQL语句的规则,则在代码编译与执⾏的时候,就不会被系统所发现。

SQL注⼊式攻击的主要形式有两种:⼀是直接将代码插⼊到与SQL命令串联在⼀起并使得其以执⾏的⽤户输⼊变量,由于其直接与SQL语句捆绑,故也被称为直接注⼊式攻击法。⼆是⼀种间接的攻击⽅法,它将恶意代码注⼊要在表中存储或者作为原数据存储的字符串。在存储的字符串中会连接到⼀个动态的SQL命令中,以执⾏⼀些恶意的SQL代码。

2.AppScan注册

2.1.注册步骤

1.将patch.exe⽂件当到APPSCAN的安装⽬录(如:D:\\Program Files\\IBM\\Rational AppScan)下,运⾏。2.运⾏keygen.exe,⽣成lince.lic⽂件。

打开APPSCAN,帮助-》许可证-》装⼊旧格式(.lic)的许可证,将刚才⽣成的.lic⽂件装载。

3.新建扫描任务

3.1.扫描模板选择

打开AppScan⼯具,点击“新建”,会弹出⼀个扫描模板选择框,⼀般选择“常规扫描” 或者⾃⼰定义的模板。下⼀步会进⼊扫描配置向导,选择执⾏的扫描类型,默认是“Web应⽤程序扫描”,点击“下⼀步”,输⼊“起始URL”

3.2.登录管理

进⼊登录管理,因为有些页⾯需要登录后 才能做有效的扫描,这⾥记录的是登录所需信息,便于扫描时能登录应⽤程序。总共有4种⽅法,⽐较常⽤的是“记录”和“⾃动”

记录: 点击“记录”按钮,进⾏录制登录操作。操作类似于⽤LR做脚本录制。

⾃动:输⼊⽤户名和密码,扫描时会⾃动根据这个凭证登录应⽤程序。

3.3.测试策略选择

选择测试策略,AppScan会根据你的测试策略来进⾏安全扫描测试。我们可以先选择“Default”,后⾯再做相应修改,或者点击“浏览” 选择已整理的测试策略模板

3.4.完成扫描配置

完成扫描配置向导后,会提供如何启动的4个选项给你。

1)启动全⾯⾃动扫描:会⾃动探索URL,⽽且边探索边扫描页⾯。2)仅使⽤⾃动“探索”启动:⾃动探索URL,不做扫描。

3)使⽤“⼿动探索”: ⼿动去访问页⾯,AppScan会⾃动记录你访问页⾯的url4)我将稍后启动扫描:AppScan不做任何操作,需要⾃⼰⼿动去启动扫描。

选择第4个——“我将稍后启动扫描”, 在扫描配置模块,可以查看刚才所做的配置信息

3.5.导⼊测试策略模板

扫描配置>>测试策略,点击“导⼊”,导⼊⼀份测试策略模板

3.6.扫描线程设置

可以设置扫描的线程数,从⽽减低扫描速度,减少对应⽤服务器造成过⾼负载:在扫描配置>>连接>>通信和代理⾥设置

3.7.导出扫描配置模板

扫描任务可能以后我们还需要重复做,为了减少重复的扫描配置,我们可以把扫描配置导出成模板,便于以后的复⽤。在“扫描配置”模块,点击“导出为模板”,后缀名是“.scant”4.扫描指定的URL

4.1.处理伪静态页

伪静态页定义:其共同特征,都是以 html 为后缀名,最后的⽂件名格式都是 file+ 数字格式;这种类型的页⾯经常存在新闻,论坛等。如果访问这些页⾯,发现页⾯结构相同,差异的都是⾥⾯的⽂本内容,如提供不同的新闻内容等,这些页⾯就是所谓的“伪静态页⾯”,其实是⽹站发布系统动态产⽣的,由于结果相似,在安全扫描中,没有必要针对这些页⾯每次都进⾏扫描。如 autobbs:

http://bbs.pcauto.com.cn/forum-15580.htmlhttp://bbs.pcauto.com.cn/forum-17065.html

⽅法:在扫描配置>>排除路径和⽂件,增加⼀个排除的路径

⼀般来说,我们需要保留⼀个html页来让它扫描,因此增加⼀个异常项(例外)

4.2.指定扫描的URL

先排除所有的URL(如配置正则表达式:.*:82),然后把需要扫描的URL设为异常

4.3.排除⽂件类型

在扫描配置>>排除路径和⽂件中可设置排除⽂件类型,排除⼀些不扫描的⽂件:如swf、jpg、gif

4.4.冗余路径设置

如果我们遇到如下类型的页⾯,都是 menu 参数值不同,访问以后发现出现的是页⾯中有不同的超链接:

这种页⾯是属于业务类型的“冗余路径”,需要全⾯扫描,这时可以打开“扫描配置”:探索>>探索选项 中 把 “冗余路径限制”的参数值设⼤⼀点(默认是5)。

也可以针对该⽬录建⽴⼀个单独的扫描任务,只扫描该⽬录和其下⼦⽬录。

4.5.探索的结果检查

探索完后,点击“应⽤程序数据”,查看“已访问的URL”,检查这些已访问的URL是否已经包含了指定扫描的URL。

5.扫描结果分析

5.1.安全问题分析

扫描结果会根据安全问题的类别和严重级别排序:点击最下⾯的节点。

了解变体的详细信息。可以把变体理解成安全扫描执⾏的“测试⽤例”,当实际结果与预期结果⼀直时,说明应⽤程序存在这个安全漏洞。对⽐测试与原始有什么不同。⼀般有差异的地⽅,appscan会⽤红⾊字体标识。在浏览器中查看具体的报错(问题)。

5.2.页⾯中模拟重现安全问题

查看“测试”的请求信息。

在页⾯的“新建分类名称”中输⼊ “\\'%20having%201=1--”,点击“添加分类”按钮,能够保存成功

6.加强部分

下⾯是加强部分,不要求掌握,有兴趣可了解⼀下:

6.1.了解被测⽹站

如何了解到⽹站具体有哪些页⾯呢?这⾥我们可以利⽤ AppScan 的探索(页⾯爬⾏)功能。

在扫描配置⾥⾯设置了主 URL 以后,⼯作菜单中中依次选择扫描 - 仅探索。对⽹站进⾏探索。⼀般会让探索⼯具运⾏ 10 到 30 分钟,看该⽹站具体存在哪些页⾯,哪些参数等。这个就可以切换到“应⽤程序数据”视图来查看。我们⼀般关⼼这3个视图:

·已访问的URL():AppScan 已经探索到并且进⾏了分析的页⾯

·已过滤掉的URL():AppScan 已经发现,同时根据扫描配置,认为不需要进⾏安全扫描的页⾯。

·中断链接URL():AppScan 发现了,但是⽆法访问到或者访问出错的页⾯,如 404 页⾯不存在,或者 500 服务器错误等。

6.2.制定测试策略模板

确定测试策略,我们主要关⼼是否存在“跨站点脚本执⾏”和 “SQL 注⼊”的问题,则在扫描规则中,我们就可以选择这两种类型的规则,其他规则都排除。可以在扫描配置>>测试 >>测试策略中选择,如下图所⽰:

在测试策略中,有多种不同的分组模式,最经常使⽤的是“严重性”,“类型”,“侵⼊式”、“WASC 威胁分类”等标准,根据不同分组选择的扫描策略,最后组成⼀个共同的策略集合。测试策略选择步骤如下:

1选择缺省的扫描策略,切换到按照“类型”分类,取消掉“基础结构”和“应⽤程序”两种类型。

说明:把扫描策略置空,没有选择任何的扫描策略。在分组类型中选择“类型”分类,类型分类中只有两种类型:“基础结构”和 “应⽤程序”,可以快速全部都取消掉。

2分组类型,切换到“WASC 威胁分类”,选择“SQL 注⼊”和“跨站点脚本编制”。

3.分组类型,切换到“类型”,发现这时候“基础结构”和“应⽤程序”两种类型的扫描策略都是选择上的模式,⽽且是虚线,说明这两种类型下均有部分扫描策略被选择了,我们不关⼼“基础结构”级别的安全问题,所以在这⾥取消“基础结构”。

4.分组类型,切换到“侵⼊式”,发现这时候“侵⼊式”和“⾮侵⼊式”两种类型的扫描策略都是选择上的模式。“侵⼊式”会有有⽐较强的副作⽤,可能对系统造成伤害,所以⼀般扫描⽣产系统的时候,很少选择。这⾥把“侵⼊式”的⽤例取消掉。

把选择好的测试策略,我们可以把它导出成⼀个模板,⽅便以后使⽤:

6.3.匹配正则表达式例⼦

http://xx.xx.com.cn/forum-15580.html 正则表达式:.*forum-\\d+.html

http://xx.xx.com.cn/bbs6/forum-16071-2.html 正则表达式:.*forum-\\d+-+\\d+.html

http://xx.xx.com.cn/bbs6/pick_101-16260.html 正则表达式:.*pick_\\d+-+\\d+.html

http://xx.xx.com.cn/bbs6/type_g539fg521b-16071.html 正则表达式:type[_a-z0-9]+-+\\d+.html

http://xx.xx.com.cn/bbs6/forum-16260_postat.html 正则表达式:forum-\\d+_+postat+.html

http://xx.xx.com.cn/bbs6/forum-16071-10_replyat.html 正则表达式:forum-\\d+-+\\d+_+replyat+.htmlhttp://xx.xx.com.cn/bbs6/time_0-16071-4.html 正则表达式:.*time_\\d+-+\\d+-+\\d+.htmlhttp://xx.xx.com.cn:8002/price/q-p1.html 正则表达式:q+-+[a-z]\\d+.html

6.4.重复的“脚本参数”处理

在“我的应⽤程序数据”树状结构,⿏标选择⽬录以后,在右边视图中选择“脚本参数”,然后查看是否存在不同页⾯(URL) 存在相同或者类似参数的情况:如下图,在不同 URL 中,都存在 title 参数,默认的参数值是“不适⽤”:

像这些页⾯,在⼀个 URL 中进⾏测试以后,没有必要在另外⼀个页⾯也进⾏测试。所以该参数值的变化,可以认为是冗余页⾯,没有必要进⾏下⼀步的重新探索和测试。可以把title 添加到“参数和cookie”: 扫描配置>>参数和cookie>>其它选项—冗余调整

取消选择任何⼀个选择框,则表⽰⽆论是否含有该参数,⽆论该参数值是否发⽣变化,都不认为是新页⾯,没有必要重新测试,⽽且不应该因为该参数的变化去影响其他参数的测试。

6.5.常见问题

1.IBM Rational AppScan扫描时发⽣\"AppScan内存需求已超过预定义的限制\"错误从⽽停⽌⼯作。

原因:为了防⽌Rational AppScan因为超过内存限度⽽停⽌⼯作,可以进⾏相应的设定使Rational AppScan当内存使⽤量相对过⼤时⾃动重新启动。

这样当扫描因为剩余的虚拟内存量过低从⽽被迫停⽌时,Rational AppScan会监测系统注册表的设定来决定是否重新启动。解决办法:⾃Rational AppScan 7.7版本以上,在主画⾯中选择菜单[⼯具]->[选项]->[⾼级]页⾯。·检索PerformanceMonitor.RestartOnOutOfMemory属性并将其设定为布尔值True。还可以使⽤下⾯的属性

·检索PerformanceMonitor\\minScanTimeDurationForRestart属性并设定适当的DWORD双字节数值,该数值是指定Rational AppScan在遇到内存问题之前应当运⾏的分钟数。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务