使用appscan实现多站扫描简单自动化
因为appscan在新建扫描任务的时候只能输入一个target,并且没有awvs/nessus那样提供web接口,导致我以前一直以为appscan不能像awvs那样批量建立任务自动扫描。
不过,今天要分享的一点经验只是实现简单的appscan自动化扫描。
其实很简单,appscan的GUI界面新建扫描任务时虽然只能指定一个target,并且也没有提供类似awvs/nessus的web接口,但是它提供的有一个“AppScanCMD.exe”。

厂商把这个小工具提供出来的意思可能就是方便用户在命令行下调用appscan实现自动化扫描的。它的功能分为:执行扫描任务和生成扫描报告两块。
那接下来介绍一下工具的语法就好了。
先看下工具自身提供的help信息:
说一下这些参数的含义吧。
| 参数 |
简写 |
简写2 |
含义 |
参数值说明 |
参数类型 |
| exec |
ex |
e |
执行扫描任务 |
||
| report |
rep |
r |
执行报告生成任务 |
||
| /base_scan |
/base |
/b |
指定格式为.scan的基础文件 |
必须为.scan文件的绝对路径 |
必填 |
| /dest_scan |
/dest |
/d |
指定格式为.scan的文件名 |
必须为.scan文件的绝对路径,可以与base_scan是同一个文件,也可以新指定一个文件,简单意思就是说扫描结果保存的位置和文件名 |
必填 |
| /report_file |
/rf |
指定报告保存的位置和文件名(文件名不带扩展名) |
报告要保存到哪里 |
可选 |
|
| /report_type |
/rt |
指定报告类型 (可选xml|pdf|rtf|txt|html) |
默认值是xml |
可选 |
|
| /min_severity |
/ms |
指定报告中要体现的漏洞级别,不到级别的漏洞不写入报告 (可选low|medium|high|informational) |
默认值是informational,也就是提示信息及以上级别的漏洞都写入报告,相当于写入扫描出来的全部漏洞内容 |
可选 |
|
| /verbose |
/v |
详细模式 |
若选择了该参数,则会在扫描时动态显示扫描状态 |
可选 |
|
| /test_only |
/to |
默认值为false |
可选 |
||
| /explore_only |
/eo |
默认值为false |
可选 |
||
| /multi-step |
/ms |
默认值为false |
可选 |
||
| /test_type |
/tt |
可选all|application|infrastructure |
默认值为all |
可选 |
这里解释的不是很详细,但基本上够用了。
明白了参数的含义和用法,那么接下来就可以在DOS下执行扫描了,因为要实现批量扫描,所以我一般都会写一个bat脚本来执行。
在真正的开始扫描之前,我们需要知道一点:
appscancmd无法跟wvs_console一样直接用命令行选项来设置扫描参数,appscancmd的扫描必须基于一个base_scan,目的就是为了读取扫描参数。
所以在使用appscancmd之前我们必须通过GUI来创建一个base_scan。创建base_scan跟在GUI下新建一个扫描任务是一样的,唯一区别在“扫描配置向导”的最一步选择“我将稍后启动扫描”,然后保存扫描到文件。
完成配置,保存结果文件,最后退出appscan的GUI。
然后,执行DOS命令或写个批处理脚本来执行扫描吧:
@echo off
appscancmd /e /b D:\merchant.scan /d D:\1.scan /v
appscancmd /e /b D:\3.scan /d D:\2.scan /v
appscancmd /e /b D:\4.scan /d D:\3.scan /v
appscancmd /e /b D:\5.scan /d D:\4.scan /v
appscancmd /e /b D:\6.scan /d D:\5.scan /v
pause
按照DOS命令的执行机制,当上一条命令执行结束后才会继续执行下一条命令,这样写一个批处理,就实现了顺序扫描多个目标的目的。
按照上边对参数的解释,我们这个批处理中的命令的完整解释就是:
执行扫描任务,从文件D:\2.scan中读取扫描配置信息,然后将扫描的结果保存到同一个文件,同时,在扫描的过程中显示扫描细节。


如果你不想把扫描结果保存到同一个文件中,那么通过/d参数直接指定新的文件名即可。
OK,就这么简单
使用appscan实现多站扫描简单自动化的更多相关文章
- [原创]K8Cscan插件之C段旁站扫描\子域名扫描
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...
- 对比AppScan Source和Fortify扫描AltoroJ的结果
对比AppScan Source和Fortify扫描AltoroJ的结果: http://blog.csdn.net/testing_is_believing/article/details/1963 ...
- CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- Jenkins之自动部署、代码安全扫描、自动化接口测试
搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --i ...
- 玩转 .NET Core 3.0:逐浪CMS新版发布,建站更简单、网站更安全
2019年11月11日,在大家都忙于网上体会“双11 ”的热闹气氛的时候,逐浪CMS开发者团队正在做着新版本发布的最后工作.此次更新是基本于 .NET Core 3.0开发,也是全国首个基于 .NET ...
- Swift 二维码扫描 简单实现
3.30看视频 学到了二维码简单的实现 还有一些动画的实现 今天就先记录一下二维码扫描的简单实现 不太好记手写一遍 学习的基础在于模仿嘛 创建一个实现二维码扫描的步骤 1.首先是懒加载创建 会话 ...
- AWVS和AppScan使用代理进行扫描教程
一.说明 扫描网站时,一是可能某些网站网络不能直接访问,二是可能不想曝露本机IP.这时要进行处理. 第一个方法是如果有vpn直接登vpn,vpn的话由于是直接修改操作系统层次的网络,扫描器不需要额外做 ...
- 网站漏洞扫描并自动化工具-XAttacker
注:该脚本根据网站的cms类型来扫描,所以推荐用来扫外国的站 运行脚本 ┌─[root@sch01ar]─[/sch01ar/XAttacker] └──╼ #perl XAttacker.pl 询问 ...
- asp.net mvc 之旅—— 第一站 从简单的razor入手
记得2011年mvc3刚出来的时候,我们就有幸将 mvc3 用在我们团购项目上,当时老大让我们用一个星期时间来熟悉mvc,幸好园子里面的老朋友DR 正在写mvc3系列,也恭喜这个系列文章被整理成专题供 ...
随机推荐
- ASP.NET Url重写
新建一个类,并实现IHttpModule接口 实现接口,在Init方法中处理请求,在请求方法中实现具体的Url重写操作 补充Url重写方法,通过 Request的Path对象获取请求文件路径,并根据请 ...
- JavaScript hasOwnProperty() 函数详解
hasOwnProperty()函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性.如果有,返回true,否则返回false. 该方法属于Object对象,由于所有的对象都"继承 ...
- 使用python检测一个设备是否ping的通
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并 ...
- git学习笔记2
工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的github文件 ...
- Xcode6.4注册URL Scheme步骤详解
URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便 ...
- 通知中心NSNotificationCenter的使用
通知中心NSNotificationCenter的使用 Cocoa框架中,通知中心以及KVO都属于设计模式中的观察者. Source 在使用通知中心之前,对通知中心类进行了简单的封装,以便可读性更强. ...
- Android 之 自动匹配字符AutoCompleteTextView
AutoCompleteTextView是自动匹配字符,当我们输入一个单词或一段话的前几个字时,就会自动为你匹配后面的内容看效果图: 下面是代码: MainActivit: package com.e ...
- (第五章)java面向对象之this的作用总结
this关键字总是指向调用该方法的对象. this可以代表任何对象,当this出现在某个方法体中时,它所代表的对象是不确定的,但它的类型是确定的,它所代表的对象只能是当前类的(在那个类中就是那个类), ...
- Extjs 控件属性(部分)
Ext.form.TimeField: 配置项: maxValue:列表中允许的最大时间 maxText:当时间大于最大值时的错误提示信息 minValue:列表中允许的最小时间 minText:当时 ...
- 深入理解java虚拟机(7)---线程安全 & 锁优化
关于线程安全的话题,足可以使用一本书来讲解这些东西.<Java Concurrency in Practice> 就是讲解这些的,在这里 主要还是分析JVM中关于线程安全这块的内容. 1. ...