goby sdk 非官方版本 使用文档(4)

root2个月前Goby 非官方SDK 开发85
16、get_vulnerability_search 方法
I、调用文档
  1. get_vulnerability_search 接受参数:

def get_vulnerability_search(self, task_id, page=1, size=20):
  1. 功能:搜索任务的漏洞数据

  2. 调用方法:

vulnerability_search = sdk.get_vulnerability_search(task_id="20230404020131",page=2,size=20) print(vulnerability_search)
  1. HTTP 默认请求

POST /api/v1/vulnerabilityStatisticsData HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 27 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"taskId":"20230404020131"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 09:07:46 GMT Content-Length: 277 Connection: close {"statusCode":200,"messages":"","data":{"ip":{"total":65,"risk":4},"port":{"total":33,"risk":5},"asset":{"total":0,"risk":0},"protocol":{"total":0,"risk":0},"level":[{"name":"Critical","value":4},{"name":"High","value":2},{"name":"Medium","value":1},{"name":"Low","value":0}]}}
II、字段文档
  1. 请求字段

  • taskId:任务 ID,字符串类型。

  1. 返回字段

  • statusCode:状态码,这里为200,表示成功;

  • messages:消息,这里为空字符串;

  • data:数据对象,包含以下子字段:

    • ip:IP地址统计信息,包含以下子字段:

      • total:总数;

      • risk:风险数;

    • port:端口统计信息,包含以下子字段:

      • total:总数;

      • risk:风险数;

    • asset:资产统计信息,包含以下子字段:

      • total:总数;

      • risk:风险数;

    • protocol:协议统计信息,包含以下子字段:

      • total:总数;

      • risk:风险数;

    • level:漏洞等级统计信息,是一个数组,每个元素包含以下子字段:

      • name:等级名称;

      • value:等级值。

17、get_poc_info 方法
I、调用文档
  1. get_poc_info 接受参数:

def get_poc_info(self, vul_name):
  1. 功能:获取漏洞详情描述信息

  2. 调用方法:

# 获取指漏洞详情描述 result = sdk.get_poc_info(vul_name="Redis unauthorized") print(result)
  1. HTTP 默认请求

POST /api/v1/getPOCInfo HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 32 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"vulname":"Redis unauthorized"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 09:29:50 GMT Content-Length: 1120 Connection: close {"statusCode":200,"messages":"","data":{"title":"Redis unauthorized","level":"3","vulfile":"redis_unauthorized.json","description":"Redis, is an open source, widely popular data structure tool that can be used as an in-memory distributed database, message broker or cache. Since it is designed to be accessed inside trusted environments, it should not be exposed on the Internet. However, some Redis are bind to public interface and even has no password authentication protection.","impact":"Under certain conditions, if Redis runs with the root account (or not even), attackers can write an SSH public key file to the root account, directly logging on to the victim server through SSH. This may allow hackers to gain server privileges, delete or steal data, or even lead to an encryption extortion, critically endangering normal business services.","recommendation":"- Don't bind to 0.0.0.0\u003cbr/\u003e- Set a password (for everything)","disclosureDate":"2015-11-11","gifAddress":"","expparams":[],"references":["http://static.nosec.org/download/redis_crackit_v1.1.pdf"],"tags":["unauthorized"],"category":"system"}}
II、字段文档
  1. 请求字段

  • vulname:一个名为vulname的字段,它的值如:Redis unauthorized,用于指定需要查询的漏洞信息。

  1. 返回字段

  • statusCode: 整数值,表示请求处理的状态码,200表示成功。

  • messages: 字符串,表示请求处理的消息。

  • data: 对象,包含以下子字段:

    • title: 字符串,表示漏洞名称,值为"Redis unauthorized"。

    • level: 字符串,表示漏洞等级,值为"3"。

    • vulfile: 字符串,表示漏洞文件名,值为"redis_unauthorized.json"。

    • description: 字符串,表示漏洞描述信息。

    • impact: 字符串,表示漏洞影响信息。

    • recommendation: 字符串,表示漏洞修复建议。

    • disclosureDate: 字符串,表示漏洞公开日期,值为"2015-11-11"。

    • gifAddress: 字符串,表示漏洞GIF图片地址,值为空字符串""。

    • expparams: 数组,表示漏洞利用参数列表,值为空数组[]。

    • references: 数组,表示漏洞参考资料列表。

    • tags: 数组,表示漏洞标签列表,值为["unauthorized"]。

    • category: 字符串,表示漏洞分类,值为"system"。

18、get_ip_segment 方法
I、调用文档
  1. get_ip_segment 接受参数:

def get_ip_segment(self, task_id, segment_type):
  1. 功能:获取指定任务下的IP段信息

  2. 调用方法:

# 测试第四页报告,获取指定任务下的IP段信息 result = sdk.get_ip_segment(task_id="20230404020131", type="0") print(result)
  1. HTTP 默认请求

POST /api/v1/ipSegment HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 38 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"taskId":"20230404080804","type":"0"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 09:39:26 GMT Content-Length: 102 Connection: close {"statusCode":200,"messages":"","data":{"lists":[{"name":"192.168.0.0","value":5}],"total":{"ips":1}}}
II、字段文档
  1. 请求字段

  • taskId: 表示任务 ID,为一个字符串类型的参数,用于指定任务的唯一标识符。

  • type: 表示 IP 段类型,为一个数字类型的参数,用于指定要扫描的 IP 段的类型,0 为 IPv4,1 为 IPv6。

更多使用说明访问:https://www.exp-9.com
  1. 返回字段

  • statusCode表示请求的处理状态,200表示处理成功;

  • messages表示请求处理的提示信息,这里为空;

  • data表示请求处理的数据,包含两个字段:

    • lists表示IP段统计的列表,是一个数组,每个元素是一个对象,包含两个字段:

      • name表示IP段的名称;

      • value表示对应IP段的数量;

    • total表示统计结果总数,是一个对象,包含一个字段:

      • ips表示统计出的IP总数。

19、get_vul_analysis 方法
I、调用文档
  1. get_vul_analysis 接受参数:

def get_vul_analysis(self, task_id):
  1. 功能:获取任务的漏洞数据

  2. 调用方法:

# 测试第四页报告,获取任务的漏洞分析数据 result = sdk.get_vul_analysis(task_id="20230404020131") print(result)
  1. HTTP 默认请求

POST /api/v1/getVulAnalysis HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 27 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"taskId":"20230404020131"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 09:46:46 GMT Content-Length: 138 Connection: close {"statusCode":200,"messages":"","data":{"application":[{"name":"django","data":[0,1,0,0]}],"service":[{"name":"redis","data":[0,0,0,3]}]}}
II、字段文档
  1. 请求字段

  • taskId: 表示任务 ID,为一个字符串类型的参数,用于指定任务的唯一标识符。

  1. 返回字段

  • statusCode:状态码,表示请求处理的状态。

  • messages:消息,可用于返回提示信息。

  • data:数据对象,包含以下字段:

    • application:应用程序对象数组,包含以下字段:

      • name:应用程序名称。

      • data:应用程序数据,数组格式,其中每个元素表示对应级别漏洞数量。

  • 更多使用说明访问:https://www.exp-9.com

    • service:服务对象数组,包含以下字段:

      • name:服务名称。

      • data:服务数据,数组格式,其中每个元素表示对应级别漏洞数量。

20、get_asset_tags 方法
I、调用文档
  1. get_asset_tags 接受参数:

def get_asset_tags(self, task_id):
  1. 功能:获取指定任务的资产标签数据

  2. 调用方法:

# 测试第四页报告,获取指定任务的资产标签数据 asset_tags = sdk.get_asset_tags(task_id="20230404020131") print(asset_tags)
  1. HTTP 默认请求

POST /api/v1/assetTags HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 27 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"taskId":"20230404080804"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 09:54:49 GMT Content-Length: 723 Connection: close {"statusCode":200,"messages":"","data":{"nodes":[{"id":"root","group":0,"groupname":""},{"id":"192.168.136.0","group":0,"groupname":""},{"id":"192.168.136.1","group":0,"groupname":""},{"id":"192.168.136.132","group":0,"groupname":""},{"id":"192.168.136.2","group":0,"groupname":""},{"id":"192.168.136.255","group":0,"groupname":""}],"links":[{"source":"root","target":"192.168.136.0","value":1,"visibledefault":true},{"source":"root","target":"192.168.136.1","value":1,"visibledefault":true},{"source":"root","target":"192.168.136.132","value":1,"visibledefault":true},{"source":"root","target":"192.168.136.2","value":1,"visibledefault":true},{"source":"root","target":"192.168.136.255","value":1,"visibledefault":true}]}}
II、字段文档
  1. 请求字段

  • taskId: 表示任务 ID,为一个字符串类型的参数,用于指定任务的唯一标识符。

  1. 返回字段

  • statusCode:HTTP响应状态码,表示请求执行结果,此处为200,表示成功。

  • messages:信息提示,此处为空。

  • data:响应数据,其中包含两个字段:

    • nodes:节点数组,每个节点是一个对象,包含三个属性:

      • id:节点ID。

      • group:节点组ID,此处所有节点都属于同一组,组ID为0。

      • groupname:节点组名称,此处为空。

    • links:连接数组,每个连接是一个对象,包含四个属性:

      • source:连接源节点ID。

      • target:连接目标节点ID。

      • value:连接权重值。

更多使用说明访问:https://www.exp-9.com
    • visibledefault:连接是否可见。

21、get_env_info 方法
I、调用文档
  1. get_env_info 接受参数:GET 请求

  2. 功能:获取系统环境信息

  3. 调用方法:

# 设置页面:获取环境信息 result = sdk.get_env_info() print(result)
  1. HTTP 默认请求

GET /api/v1/getEnvi HTTP/1.1 Content-Type: application/json;charset=UTF-8 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Content-Length: 0 Connection: close HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 10:01:19 GMT Content-Length: 537 Connection: close {"statusCode":200,"messages":"","data":{"chromePath":"","dataIntegrity":"ok","datadir":"/root/goby-linux-x64-2.4.5/golib","dir":"/root/goby-linux-x64-2.4.5/golib","dnsServer":"8.8.8.8:53","gid":"b1xxxxb6cabeb4","godserver":"https://gobygo.net","interface":"ens33","ip":"192.168.136.133","key":"862338xxxxa37b12","midKey":"5add270cexxxxxxx7545c98147","network":"192.168.136.133/24","pcapVersion":"libpcap version 1.9.1 (with TPACKET_V3)","proxyServer":"http://xxxxxx","userRuleSize":"0","vulVersion":"20210101010101"}}
II、字段文档
  1. 请求字段

GET 请求
  1. 返回字段

  • statusCode:数字类型,表示接口返回状态码,这里是200,表示成功。

  • messages:字符串类型,表示接口返回的消息,这里为空字符串。

  • data:对象类型,表示接口返回的数据。

  • chromePath:字符串类型,表示Chrome浏览器的路径。

  • dataIntegrity:字符串类型,表示数据的完整性,这里为ok。

  • datadir:字符串类型,表示程序的数据目录路径。

  • dir:字符串类型,表示程序的目录路径。

  • dnsServer:字符串类型,表示DNS服务器的地址。

  • gid:字符串类型,表示程序的组ID。

  • godserver:字符串类型,表示Goby的官网地址。

  • interface:字符串类型,表示程序监听的网卡名称。

  • ip:字符串类型,表示程序监听的IP地址。

  • key:字符串类型,表示程序的key。

  • midKey:字符串类型,表示程序的中间key。

  • network:字符串类型,表示程序监听的网段。

  • pcapVersion:字符串类型,表示程序使用的libpcap库的版本号。

  • proxyServer:字符串类型,表示程序使用的代理服务器地址。

  • userRuleSize:字符串类型,表示用户规则的数量。

  • vulVersion:字符串类型,表示程序使用的漏洞库版本号。

22、set_env_info 方法
I、调用文档
  1. set_env_info 接受参数(暂时未支持部分参数设置):

def set_env_info(self, dns_server, proxy_server):
  1. 功能:设置系统环境信息

  2. 调用方法:

# 设置页面:设置系统环境信息,代理 result = sdk.set_env_info(dns_server="8.8.8.8:53",proxy_server="http://192.168.1.4:1080") print(result)
  1. HTTP 默认请求

POST /api/v1/setEnvi HTTP/1.1 Content-Type: application/json;charset=UTF-8 Content-Length: 66 Authorization: Basic dXNlcjpwYXNz host: 192.168.136.133:8361 Connection: close {"dnsServer":"8.8.8.8:53","proxyServer":"http://192.168.1.1:1080"} HTTP/1.1 200 OK Content-Type: application/json Date: Mon, 10 Apr 2023 10:11:09 GMT Content-Length: 44 Connection: close {"statusCode":200,"messages":"","data":true}
II、字段文档
  1. 请求字段

  • dnsServer:指定DNS服务器地址和端口号,格式为IP地址:端口号,此处为8.8.8.8:53。

  • proxyServer:指定HTTP代理服务器地址和端口号,格式为http://IP地址:端口号,此处为http://192.168.1.1:1080

  1. 返回字段

  • statusCode:表示接口的执行状态码,此处为 200,表示执行成功。

  • messages:返回的提示信息,此处为空。

  • data:表示接口返回的数据内容,此处为 true,表示数据成功设置。

更多使用说明访问:https://www.exp-9.com


相关文章

goby sdk 非官方版本 使用文档(1)

一、Api类1、get_poc_list 方法I、调用文档get_poc_list 接受参数:get_poc_list(self, query="vultype=2", reloa...

goby sdk 非官方版本 使用文档(2)

6、get_tasks 方法 I、调用文档get_tasks 接受参数:def get_tasks(self, page=1, size=10, order_by='created_time&...

goby sdk 非官方版本

goby sdk 非官方版本

非官方版本的 Goby SDK 是由一些技术人员基于官方版本进行开发和改进的,旨在提供更加丰富的功能和更好的性能。它们可能包含一些官方版本不具备的功能或者对官方版本的一些限制进行了解除,可以更好地满足...

goby sdk 非官方版本 使用文档(3)

11、get_ip_info 方法 I、调用文档get_ip_info 接受参数:def get_ip_info(self, task_id, ip):功能:获取IP详细信息调用方法# 测试第二页,点...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。