goby sdk 非官方版本 使用文档(1)
get_poc_list 接受参数:
功能: 获取POC列表信息。
调用方法:
HTTP 默认请求
请求字段
query:字符串类型,表示查询条件,这里为"vultype=2",即漏洞类型为2的漏洞列表。
options:一个包含多个可选项的对象,用于指定查询选项。
reloadPocs:布尔类型,表示是否重新加载POC列表。
order:一个包含多个字段的对象,用于指定查询结果的排序方式。
vul_nums:表示按照漏洞数量降序排列。
level:表示按照漏洞等级降序排列。
host_nums:表示按照主机数量降序排列。
page:一个包含两个字段的对象,用于指定查询结果的分页方式。
page:表示页码,这里为第1页。
size:表示每页显示的数据量,这里为3000。
返回字段
statusCode:表示HTTP响应状态码,这里为200,表示成功。
messages:表示响应消息,这里为空字符串。
data:一个包含多个字段的对象,表示响应数据。
taskId:表示任务ID,这里为空字符串。
total:一个包含多个字段的对象,表示查询结果的统计信息。
general:表示通用漏洞数量,这里为333。
bruteforce:表示暴力破解漏洞数量,这里为10。
search_general:表示满足查询条件的通用漏洞数量,这里为333。
search_bruteforce:表示满足查询条件的暴力破解漏洞数量,这里为10。
lists:一个包含多个字段的对象数组,表示查询结果的具体列表。
category:表示漏洞类别,这里为system。
pocType:表示POC类型,这里为空字符串。
fileName:表示POC文件名,这里为74cms_plus_ajax_common_SQLi.json。
name:表示POC名称,这里为74CMS SQLi with Plus ajax common。
level:表示漏洞等级,这里为3。
gifAddress:表示漏洞截图地址,这里为空字符串。
host_nums:表示受影响的主机数量,这里为0。
vul_nums:表示受影响的漏洞数量,这里为0。
scanTime:表示POC扫描时间,这里为空字符串。
hasexp:表示POC是否有漏洞利用脚本,这里为true。
failed:表示查询失败的信息,这里为null。
tags:一个包含多个字段的对象,表示查询结果中包含的标签及其数量。
APT:表示APT相关的标签数量。
Code Execution:表示代码执行相关的标签数量。
Disclosure of Sensitive Information:表示泄露敏感信息相关的标签数量。
File Upload:表示文件上传相关的标签数量。
RCE:表示远程代码执行相关的标签数量。
SQL Injection:表示SQL注入相关的标签数量。
SQLi:表示SQL注入相关的标签数量。
XXE:表示XML外部实体注入相关的标签数量。
backdoor:表示后门相关的标签数量。
bruteforce:表示暴力破解相关的标签数量。
defaultaccount:表示默认账户相关的标签数量。
dvr:表示数字视频录像机相关的标签数量。
file write:表示文件写入相关的标签数量。
file-upload:表示文件上传相关的标签数量。
filedownload:表示文件下载相关的标签数量。
fileread:表示文件读取相关的标签数量。
getshell:表示获取shell相关的标签数量。
infoleak:表示信息泄露相关的标签数量。
iot:表示物联网设备相关的标签数量。
lfi:表示本地文件包含相关的标签数量。
login-bypass:表示登录绕过相关的标签数量。
rce:表示远程代码执行相关的标签数量。
sqli:表示SQL注入相关的标签数量。
ssrf:表示服务器端请求伪造相关的标签数量。
surveillance:表示监控相关的标签数量。
unauthorized:表示未授权访问相关的标签数量。
webvulscan:表示Web漏洞扫描相关的标签数量。
xxe:表示XML外部实体注入相关的标签数量。
start_scan 接受参数:def start_scan(self, task_name, ips, ports="0-65535", black_ips=[], vul_type="0", pocs_hosts={}, options={})
功能:启动扫描
调用方法
HTTP 默认请求
请求字段
taskName:扫描任务名称,为空字符串
asset:资产信息对象
ips:需要扫描的 IP 地址范围,数组形式,示例为 ["192.168.136.0/24"]
ports:需要扫描的端口号范围,示例为 "21"
blackIps:需要排除的 IP 地址,示例为空数组
vulnerability:漏洞信息对象
type:需要扫描的漏洞类型,示例为 "0"
pocs_hosts:POC 文件和对应的 IP 地址,示例为空对象
options:其他可选参数
queue:扫描任务队列编号,示例为 0
random:是否启用随机扫描顺序,示例为 true
rate:扫描速率,单位为毫秒/请求,示例为 1000
portscanmode:端口扫描模式,示例为 0
proxy:代理服务器地址,示例为 "http://192.168.1.11:1080"
CheckHoneyPot:是否检查蜜罐,示例为 false
enableCrawler:是否开启爬虫模式,示例为 false
crawlerScope:爬虫范围,示例为 0
crawlerConcurrent:爬虫并发数,示例为 5
crawlerMaxLinks:爬虫最大链接数,示例为 50
crawlerMaxCrawlLinks:爬虫最大爬行链接数,示例为 1000
connectionSize:连接池大小,示例为 100
screenshotRDP:是否启用 RDP 截图功能,示例为 false
screenshot:是否启用截图功能,示例为 false
deepAnalysis:是否启用深度分析功能,示例为 true
extracthost:是否启用主机名提取功能,示例为 false
fofaFetchSubdomainEnabled:是否启用 Fofa 子域名获取功能,示例为 false
fofaEmail:Fofa 邮箱地址,示例为空字符串
fofaKey:Fofa API 密钥,示例为空字符串
fofaFetchSize:Fofa 查询结果数量,示例为 100
pingFirst:是否先进行 Ping 操作,示例为 false
pingCheckSize:Ping 操作检查的 IP 数量,示例为 10
"pingConcurrent": 指定ping命令并发执行的数量。
"pingSendCount": 指定ping命令发送的ICMP报文数量。
"defaultUserAgent": 设置HTTP请求的User-Agent头部,默认为空。
"defaultDeepAnalysisCheckString": 指定深度扫描时使用的关键字,用于判断目标主机是否存在漏洞。
"enableSutraCloud": 是否开启Sutra Cloud功能,默认为关闭。
"enableSutraQueryJson": 是否启用Sutra Cloud的JSON查询功能。
"socketTimeout": 设置socket连接的超时时间。
"retryTimes": 设置重试次数。
"checkAliveMode": 设置存活性检测的模式,0表示TCP检测,1表示ICMP检测,2表示TCP和ICMP同时检测。
返回字段
statusCode:响应状态码,这里为200,表示请求成功。
messages:消息列表,这里为空。
data:响应数据主体,一个JSON对象。
taskId:任务ID,这个字段表示发起的扫描任务的ID,它是一个字符串类型的时间戳,格式为YYYYMMDDhhmmss。
resume_scan 接受参数:
功能:恢复扫描任务
调用方法:
HTTP 默认请求
请求字段
taskId:任务ID,表示要恢复扫描的任务。
options:扫描选项,表示恢复扫描时的一些配置参数,包括:
queue:队列,表示任务的执行优先级。
random:是否随机扫描,True表示是,False表示否。
rate:扫描速率,表示每秒钟扫描的请求数。
portscanmode:端口扫描模式,表示使用何种方式进行端口扫描,0表示全端口扫描,1表示常用端口扫描。
proxy:代理服务器地址,表示使用代理服务器进行扫描。
screenshot:是否进行截图,True表示是,False表示否。
extracthost:是否提取子域名,True表示是,False表示否。
deepAnalysis:是否进行深度分析,True表示是,False表示否。
返回字段
statusCode:状态码,表示操作是否成功,200表示成功。
messages:消息,表示操作的相关提示信息。
data:数据,表示返回的结果数据,其中包括taskId表示恢复扫描的任务ID。
stop_scan 接受参数:
功能:停止扫描任务
调用方法:
HTTP 默认请求
请求字段
taskId:任务ID,表示要恢复扫描的任务。
返回字段
statusCode: 整型,表示操作的状态码。200 表示成功,其他数字表示失败。
messages: 字符串,表示操作返回的信息。
data: 字典,包含了扫描任务的状态信息。
logs: 字符串,表示扫描任务的日志信息。
progress: 整型,表示扫描任务的进度,范围在 0 到 100 之间。
state: 整型,表示扫描任务的状态。0 表示排队中,1 表示正在运行,2 表示暂停中,3 表示已完成,4 表示已终止。
get_scan_progress 接受参数:
功能:获取扫描任务进度信息
调用方法:
HTTP 默认请求
请求字段
taskId:任务ID,指定要查询进度的扫描任务ID。
返回字段
statusCode:表示服务器处理请求后的状态码。在这个例子中,状态码为 200,表示服务器已成功处理了请求。
messages:包含服务器返回的消息,如果有的话。在这个例子中,该字段为空,表示没有返回任何消息。
data:包含服务器返回的数据。在这个例子中,data 包含三个字段:
logs:表示日志信息,如果有的话。在这个例子中,该字段为 null,表示没有返回任何日志信息。
progress:表示任务的进度。在这个例子中,该字段为 0,表示任务还没有开始。
state:表示任务的状态。在这个例子中,该字段为 4,表示任务已完成。