AWVS API接口文档
一、Targets
1 所有目标信息:
Method:GET
URL: /api/v1/targets
返回参数说明:
参数 | 说明 |
---|---|
pagination | 分页信息 |
targets | 目标详细信息 |
targets:
参数 | 说明 |
---|---|
criticality | 分页信息 |
last_scan_session_status | 最后一次扫描状态 |
target_id | 目标id |
last_scan_id | 最后一次扫描id |
last_scan_session_id | 最后一次扫描session id |
continuous_mode | 是否连续模式 |
last_scan_date | 最后一次扫描时间 |
manual_intervention | 是否手动干预 |
threat | 威胁等级 |
severity_counts | 漏洞等级个数分布 |
description | 备注 |
address | 扫描目标网址 |
2 筛选目标信息接口:
Method:GET
URL: /api/v1/targets?q=threat:{list};criticality:{list};group_id:{string};text_search:*{string}
Demo:
/api/v1/targets?q=threat:3;criticality:10,20;text_search:*h4rdy.me
发送参数说明:
参数 | 类型 | 说明 |
---|---|---|
threat | int | 威胁等级;高->低:[3,2,1,0] |
criticality | int | 危险程度;高->低:[30,20,10,0] |
group_id | string | 分组id |
last_scanned | 最后一次扫描时间(默认不传该参数) | |
text_search | string | 筛选内容 |
返回参数说明:
同 [所有目标信息]
3 添加目标接口:
Method:POST
URL: /api/v1/targets
Data:
{"address":"http://wiki.h4rdy.me","description":"xxxx","criticality":"10"}
发送参数说明:
参数 | 类型 | 说明 |
---|---|---|
address | string | 目标网址:需http或https开头 |
criticality | Int | 危险程度;范围:[30,20,10,0];默认为10 |
description | string | 备注 |
返回参数说明:
参数 | 说明 |
---|---|
address | 目标网址 |
criticality | 危险程度 |
description | 备注 |
target_id | 目标id |
二、Scans
1 添加扫描:
Method:POST
URL: /api/v1/scans
Data:
{
"target_id":"64496c9e-b340-4227-90d4-ac43e78d4a0d",
"profile_id":"11111111-1111-1111-1111-111111111112",
"schedule":
{"disable":false,
"start_date":null,
"time_sensitive":false
}
}
发送参数说明:
参数 | 类型 | 说明 |
---|---|---|
target_id | String | 目标id |
profile_id | String | 扫描类型 |
schedule | Json | 扫描时间设置(默认即时) |
report_template_id | String | 扫描报告类型(可不传) |
ui_session_id | String | 可不传 |
附profile_id值对照表:
类型 | 值 |
---|---|
Full Scan | 11111111-1111-1111-1111-111111111111 |
High Risk Vulnerabilities | 11111111-1111-1111-1111-111111111112 |
Cross-site Scripting Vulnerabilities | 11111111-1111-1111-1111-111111111116 |
SQL Injection Vulnerabilities | 11111111-1111-1111-1111-111111111113 |
Weak Passwords | 11111111-1111-1111-1111-111111111115 |
2 删除扫描:
Method:DELETE
URL: /api/v1/scans/{scan_id}
3 获取所有扫描状态:
Method:GET
URL: /api/v1/scans
返回参数说明:
参数 | 说明 |
---|---|
profile_id | 扫描类型id |
target | 目标详细信息 |
report_template_id | 扫描报告类型 |
current_session | 当前状态 |
criticality | 危险程度 |
schedule | 扫描时间设置 |
next_run | 下次扫描时间 |
profile_name | 扫描类型 |
scan_id | 扫描id |
target_id | 目标id |
current_session:
参数 | 说明 |
---|---|
threat | 威胁等级 |
progress | 新增 |
scan_session_id | scan_session_id |
status | 扫描状态 |
severity_counts | 漏洞等级分布 |
event_level | 事件等级 |
start_date | 开始时间 |
4 获取单个扫描状态:
Method:GET
URL: /api/v1/scans/{scan_id}
返回参数说明:
参数 | 说明 |
---|---|
profile_id | 扫描类型id |
target | 目标详细信息 |
report_template_id | 扫描报告类型 |
current_session | 当前状态 |
criticality | 危险程度 |
schedule | 扫描时间设置 |
next_run | 下次扫描时间 |
profile_name | 扫描类型 |
scan_id | 扫描id |
target_id | 目标id |
5 单个扫描概况信息:
Method:GET
URL: /api/v1/scans/{scan_id}/results/{scan_session_id}/statistics
6 单个扫描漏洞结果:
Method:GET
URL: /api/v1/scans/{scan_id}/results/{scan_session_id}/vulnerabilities
7 获取当前扫描单个漏洞信息
Method: GET
URL: /api/v1/scans/{scan_id}/results/{scan_session_id}/vulnerabilities/{vuln_id}
返回参数说明:
参数 | 说明 |
---|---|
affects_detail | 影响细节 |
affects_url | 受影响链接 |
criticality | 危险程度 |
cvss2 | cvss2信息 |
cvss3 | cvss3信息 |
cvss_score | cvss 评分 |
description | 漏洞描述 |
details | 漏洞细节 |
impact | 影响 |
loc_id | loc id |
long_description | 更多描述 |
recommendation | 整改意见 |
references | 来源 |
request | 请求头信息 |
severity | 漏洞等级(0-3) |
source | 来源 |
status | 漏洞状态 |
tags | 标签 |
target_id | 目标ID |
vt_id | vt_id |
vt_name | 漏洞名字 |
vuln_id | 该次扫描中的漏洞ID |
三、Vulnerabilities
1 获取所有漏洞信息
Method:GET
URL: /api/v1/vulnerabilities?q=status:{status}
status: 默认为open
值 | 说明 |
---|---|
open | 公开 |
fixed | 已修复 |
ignored | 已忽略 |
false_positive | 误报 |
!open | 不公开 |
返回参数说明:
参数 | 说明 |
---|---|
pagination | 页码信息 |
vulnerabilities | 漏洞信息 |
2 条件筛选漏洞信息
Method:GET
URL: /api/v1/vulnerabilities?q=severity:{int};criticality:{int};status:{string};cvss_score:{logic expression
};cvss_score:{logic expression
};target_id:{target_id};group_id:{group_id}
3 获取单个漏洞信息
说明: 此处的vuln_id 应是根据本模块中获取全部漏洞信息中得到的vuln_id, 不能将scans模块得到的vuln_id传入,否则无法获取到漏洞信息.
Method:GET
URL: api/v1/vulnerabilities/{vuln_id}
四、Reports
1 获取所有扫描报告
Method:GET
URL: /api/v1/reports
返回参数说明:
参数 | 说明 |
---|---|
generation_date | 生成时间 |
template_type | 模板类型 |
report_id | 报告id |
template_name | 模板名字 |
status | 状态 |
template_id | 模板id |
download | 下载链接[html, pdf] |
source | 来源 |
description | 备注 |
2 生成扫描报告
Method:POST
URL: /api/v1/reports
Data:
{"template_id":"11111111-1111-1111-1111-111111111119",
"source":{
"list_type":"scan_result",
"id_list":["f2985648-da9e-430a-830b-f1bf34d9c4f2"]
}
}
返回参数说明:
参数 | 类型 | 说明 |
---|---|---|
template_id | String | 扫描报名模板类型 |
list_type | String | 值为: scans / targets |
id_list | String | 值为: scan_id / target_id |
template_id:
类型 | 值 |
---|---|
Affected Items | 11111111-1111-1111-1111-111111111115 |
CWE 2011 | 11111111-1111-1111-1111-111111111116 |
Developer | 11111111-1111-1111-1111-111111111111 |
Executive Summary | 11111111-1111-1111-1111-111111111113 |
HIPAA | 11111111-1111-1111-1111-111111111114 |
ISO 27001 | 11111111-1111-1111-1111-111111111117 |
NIST SP800 53 | 11111111-1111-1111-1111-111111111118 |
OWASP Top 10 2013 | 11111111-1111-1111-1111-111111111119 |
PCI DSS 3.2 | 11111111-1111-1111-1111-111111111120 |
Quick | 11111111-1111-1111-1111-111111111112 |
Sarbanes Oxley | 11111111-1111-1111-1111-111111111121 |
Scan Comparison | 11111111-1111-1111-1111-111111111124 |
STIG DISA | 11111111-1111-1111-1111-111111111122 |
WASC Threat Classification | 11111111-1111-1111-1111-111111111123 |