因为appscan在新建扫描任务的时候只能输入一个target,并且没有awvs/nessus那样提供web接口,导致我以前一直以为appscan不能像awvs那样批量建立任务自动扫描。 不过,要分享的一点经验只是实现简单的appscan自动化扫描。 其实很简单,appscan的GUI界面新建扫描任务时虽然只能指定一个target,并且也没有提供类似awvs/nessus的web接口,但是它提供的有一个“AppScanCMD.exe”。
厂商把这个小工具提供出来的意思可能是方便用户在命令行下调用appscan实现自动化扫描的。它的功能分为:执行扫描任务和生成扫描报告两块。 那接下来介绍一下工具的语法好了。 先看下工具自身提供的help信息: 说一下这些参数的含义吧。
这里解释的不是很详细,但基本上够用了。 明白了参数的含义和用法,那么接下来可以在DOS下执行扫描了,因为要实现批量扫描,所以我一般都会写一个bat脚本来执行。 在真正的开始扫描之前,我们需要知道一点: appscancmd无法跟wvs_console一样直接用命令行选项来设置扫描参数,appscancmd的扫描必须基于一个base_scan,目的是为了读取扫描参数。 所以在使用appscancmd之前我们必须通过GUI来创建一个base_scan。创建base_scan跟在GUI下新建一个扫描任务是一样的,区别在“扫描配置向导”的一步选择“我将稍后启动扫描”,然后保存扫描到文件。 完成配置,保存结果文件,后退出appscan的GUI。 然后,执行DOS命令或写个批处理脚本来执行扫描吧: 1@echo off 2appscancmd/e/b D:merchant.scan/d D:1.scan/v 3appscancmd/e/b D:3.scan/d D:2.scan/v 4appscancmd/e/b D:4.scan/d D:3.scan/v 5appscancmd/e/b D:5.scan/d D:4.scan/v 6appscancmd/e/b D:6.scan/d D:5.scan/v 7pause 按照DOS命令的执行机制,当上一条命令执行结束后才会继续执行下一条命令,这样写一个批处理,实现了顺序扫描多个目标的目的。 按照上边对参数的解释,我们这个批处理中的命令的完整解释是: 执行扫描任务,从文件D:2.scan中读取扫描配置信息,然后将扫描的结果保存到同一个文件,同时,在扫描的过程中显示扫描细节。
如果你不想把扫描结果保存到同一个文件中,那么通过/d参数直接指定新的文件名即可。 OK,这么简单