zoukankan      html  css  js  c++  java
  • 使用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

      详细模式

    若选择了该参数,则会在扫描时动态显示扫描状态
    默认值为false,即不显示扫描状态

    可选

    /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,就这么简单

  • 相关阅读:
    SQL SERVER 2012 第三章 使用INSERT语句添加数据
    SQL SERVER 2012 第三章 T-SQL 基本语句 having子句
    T4 模板生产 多文件
    RAC+DG修改sys密码
    数据泵导入,报错:ORA-12899: value too large for column "SCOTT"."TEST112"."JOIN" (actual: 9, maximum: 8)
    grep过滤空行和注释行
    char与varchar2字符类型的区别
    Oracle不知道用户密码情况下,如何在不更改密码的前提下解锁用户或者延期密码有效期
    数据泵导出报错ORA-31693 ORA-02354 ORA-01466
    安装ogg软件报错:[INS-75012]Sofware Location specified is already an existing Oracle
  • 原文地址:https://www.cnblogs.com/yangxia-test/p/4065634.html
Copyright © 2011-2022 走看看