# 使用手册

# 0x01 安装

pocassist 为单二进制文件,无依赖,也无需安装,下载后直接使用。

下载地址 (opens new window)

如果使用公共漏洞库,请先下载,并在 config.yaml 中配置。公共漏洞库默认登录账号密码为 admin / admin2

漏洞库下载 (opens new window)

# 0x02 启动参数

直接运行将使用1231端口:

./pocassist

使用其他端口,如8888:

./pocassist -p 8888

# 0x03 个性化配置

pocassist 首次运行时,将在当前目录下生成默认配置文件config.yaml

该文件中的配置项将直接影响 pocassist 在运行时的状态。

TIP

配置文件采用热加载机制。当配置文件变化时立即生效,无需重启。

WARNING

在修改某项配置时,请务必理解该项的含义后再修改,否则可能会导致非预期的情况发生。

WARNING

当前 pocassist 正在快速迭代,不保证配置文件向后兼容。请保证使用当前版本 pocassist 生成的配置文件。

# 3-1 运行配置

config.yamlserverConfig配置将影响 pocassist 的运行模式:

serverConfig:
	# jwt秘钥,建议修改为自定义秘钥
	jwt_secret: "pocassist"
	# 运行模式,"release" 或 "debug"。debug模式下会输出更多的运行中的细节
	run_mode: "release"
1
2
3
4
5

# 3-2 并发配置

pocassist 基于 Go 编写。使用 goroutine 并发,并实现通过使用 ants实例化协程池,复用 goroutine ,节省资源,提升性能。

所以,这里的并发也基本指代的是同时在进行漏洞扫描的 goroutine 的数量。

通俗来讲就是同时运行的插件数量。假设一个请求在整个扫描流程中需要被 100 个插件扫描且每个插件的执行时间为1秒钟, 倘若我们设置了并发为 50,那么只需要 2s 就能执行完所有的插件;如果设置并发为 20,那么就需要 5s 才能执行完所有插件。

pluginsConfig:
  # 并发量:同时运行的插件数量
  parallel: 8
1
2
3

# 3-3 HTTP配置

对于 web 扫描来说,http 协议的交互是整个过程检测过程的核心。

因此这里的配置将影响到 pocassist 在 poc 运行时进行 http 发包时的行为。

httpConfig:
  # 扫描时使用的代理:格式为 IP:PORT,example: 如 burpsuite,可填写 127.0.0.1:8080
  proxy: ""
  # 读取 http 响应超时时间,不建议设置太小,否则可能受网络波动影响较大,也会影响到盲注等对时间较为敏感的poc的准确性
  http_timeout: 10
  # 建立 tcp 连接的超时时间
  dail_timeout: 5
  # udp 超时时间
  udp_timeout: 5
  # 每秒最大请求数
  max_qps: 100
  # 单个请求最大允许的跳转次数
  max_redirect: 5
  headers:
    # 默认 User-Agent
    user_agent: "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

WARNING

使用代理:配置该项后漏洞扫描发送请求时将使用代理发送。目前pocassist仅支持http代理,因此配置代理时仅提供IP:PORT即可。

WARNING

每秒最大请求数:默认100,这里限制发包速度。通常是为了防止被ban才会将该值调的小一些。

# 3-4 数据库配置

pocassist 支持 sqlite 和 mysql 两种数据库类型。

TIP

默认使用 sqlite ,当配置文件中 sqlite 配置项为空时,才会使用 mysql 配置。

dbConfig:
  # 是否使用公共漏洞库,如果使用公共漏洞库pocassistdb需要开启此项。false时gorm将直接生成空的数据库。默认开启。
  enableDefault: true
  # sqlite配置:sqlite数据库文件的路径
  sqlite : "pocassist.db"
  # mysql配置
  mysql:
    host: "127.0.0.1"
    password: ""
    port: "3306"
    user: "root"
    database: "pocassist"
    # 数据库连接超时时间
    timeout: "3s"
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 3-5 反连平台配置

反连平台常用于解决没有回显的漏洞探测的情况,最常见的类似于 ssrf 和 存储型xss。

目前 pocassist 支持的反连平台为 ceye.io (opens new window),配置ceye的api_keydomain即可。

# 反连平台配置: 目前使用 ceye.io
reverse:
  api_key: ""
  domain: ""
1
2
3
4

# 3.6 日志配置

# 日志配置
logConfig:
  # 每个日志文件保存的最大尺寸 单位:M
  max_size: 50
  # 日志文件最多保存多少个备份
  max_backups: 1
  # 文件最多保存多少天
  max_age: 365
  # 是否压缩
  compress: false
1
2
3
4
5
6
7
8
9
10

# 0x04 POC可视化编辑

规则编辑手册 (opens new window)

rule-detail

# 0x05 批量检测

task-new

# 配置扫描目标

# 单个url

域名 / IP + 端口,不加协议默认为http

如果目标为https,务必输入完整url链接。example: https://pocassist.jweny.top

# 请求报文文件

完整的http请求报文。example:

GET / HTTP/1.1
Host: pocassist.jwent.top
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

1
2
3
4
5
6
7

# url列表文件

url列表,按行读取。example:

jwent.top
pocassist.jweny.top
1
2

# 配置插件

  1. 加载全部插件
  2. 自定义加载插件。前端选中要运行的poc名称即可。

task-index