risk
函数名 | 函数描述/介绍 |
---|---|
risk.CheckDNSLogByToken | |
risk.CheckHTTPLogByToken | |
risk.CheckICMPTriggerByLength | |
risk.CheckRandomTriggerByToken | |
risk.CheckServerReachable | CheckServerReachable 通过 Bridge 检查目标是否可达,第一个参数为上下文,第二个参数为目标地址,第三个参数为是否进行 http 检测,返回的第一个值是 CheckServerReachableResponse,第二个值是错误 |
risk.CreateRisk | CreateRisk 创建漏洞记录结构体,但是并不会保存到数据库,第一个参数是目标URL,后面可以传入零个或多个选项参数,用于指定 risk 的结构,其通常与 Save 一起使用 |
risk.DeleteRiskByID | DeleteRiskByID 根据风险记录ID删除风险记录 |
risk.DeleteRiskByTarget | DeleteRiskByTarget 根据目标(ip或ip:port)删除风险记录 |
risk.ExtractTokenFromUrl | |
risk.HaveReverseRisk | HaveReverseRisk 通过轮询检查是否存在对应token的反连记录,重试最多5次,每次等待1秒, 如果存在返回true,否则返回false |
risk.NewDNSLogDomain | NewDNSLogDomain 返回一个公网 Bridge 的 DNSLog 域名,返回的第一个值是域名,第二个值是 token,第三个值是错误 |
risk.NewHTTPLog | NewHTTPLog 返回一个公网 Bridge 的 HTTPLog 域名,返回的第一个值是域名,第二个值是 token,第三个值是错误 |
risk.NewLocalReverseHTTPSUrl | NewLocalReverseHTTPSUrl 返回一个本地 Bridge 的反向 HTTPS URL |
risk.NewLocalReverseHTTPUrl | NewLocalReverseHTTPUrl 返回一个本地 Bridge 的反向 HTTP URL |
risk.NewLocalReverseRMIUrl | NewLocalReverseRMIUrl 返回一个本地 Bridge 的反向 RMI URL |
risk.NewPublicReverseHTTPSUrl | NewPublicReverseHTTPSUrl 返回一个公网 Bridge 的反向 HTTPS URL |
risk.NewPublicReverseHTTPUrl | NewPublicReverseHTTPUrl 返回一个公网 Bridge 的反向 HTTP URL |
risk.NewPublicReverseRMIUrl | NewPublicReverseRMIUrl 返回一个公网 Bridge 的反向 RMI URL |
risk.NewRandomPortTrigger | NewRandomPortTrigger 返回一个公网 Bridge 的随机端口反连检测地址,返回的第一个值是 token,第二个值是检测地址,第三个值是错误 |
risk.NewRisk | |
risk.NewUnverifiedRisk | |
risk.QueryRisksByKeyword | QueryRisksByKeyword 根据关键字查询风险记录,返回风险记录的管道 |
risk.RegisterBeforeRiskSave | |
risk.Save | Save 将漏洞记录结构体保存到数据库中其通常与 CreateRisk 一起使用 |
risk.YieldRiskByCreateAt | YieldRiskByCreateAt 根据创建时间戳获取风险记录,返回风险记录的管道 |
risk.YieldRiskByIds | YieldRiskByIds 根据 Risk ID 获取风险记录,返回风险记录的管道 |
risk.YieldRiskByRuntimeId | YieldRiskByRuntimeId 根据 RuntimeID 获取风险记录,返回风险记录的管道 |
risk.YieldRiskByScriptName | YieldRiskByScriptName 根据插件名戳获取风险记录,返回风险记录的管道 |
risk.YieldRiskByTarget | YieldRiskByTarget 根据目标(ip或ip:port)获取风险记录,返回风险记录的管道 |
risk.cve | cve 是一个选项参数,用于指定风险记录的 CVE 编号 |
risk.description | description 是一个选项参数,用于指定漏洞记录的描述 |
risk.details | details 是一个选项参数,用于指定风险记录的详细信息 |
risk.fromYakScript | fromScript 是一个选项参数,用于指定风险记录的来源插件名 |
risk.ignore | |
risk.ip | |
risk.level | severity 是一个选项参数,用于指定风险记录的严重程度 可用的严重程度有: critical, high, warning, info, low |
risk.parameter | parameter 是一个选项参数,用于指定风险记录的参数 |
risk.payload | payload 是一个选项参数,用于指定漏洞记录的载荷(payload) |
risk.potential | |
risk.request | request 是一个选项参数,用于指定风险记录的原始请求报文 |
risk.response | response 是一个选项参数,用于指定风险记录的原始响应报文 |
risk.runtimeId | runtimeId 是一个选项参数,用于指定风险记录的运行时 ID |
risk.severity | severity 是一个选项参数,用于指定风险记录的严重程度 可用的严重程度有: critical, high, warning, info, low |
risk.solution | solution 是一个选项参数,用于指定漏洞记录的解决方案 |
risk.tag | |
risk.title | title 是一个选项参数,用于指定漏洞记录的标题 |
risk.titleVerbose | titleVerbose 是一个选项参数,用于指定漏洞记录的详细标题 |
risk.token | token 是一个选项参数,用于指定风险记录的反连 token |
risk.type | type 是一个选项参数,用于指定风险类型,可用的风险类型: SQL 注入: sqli,sqlinj,sql-inj,sqlinjection,sql-injection 跨站脚本:xss 远程执行: rce,rce-command,rce-code 文件操作: lfi,fi... |
risk.typeVerbose | typeVerbose 是一个选项参数,用于指定风险类型的详细描述 |
#
函数定义#
CheckDNSLogByToken#
详细描述#
定义CheckDNSLogByToken(token string, timeout ...float64) ([]*tpb.DNSLogEvent, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
token | string | |
timeout | ...float64 |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*tpb.DNSLogEvent | |
r2 | error |
#
CheckHTTPLogByToken#
详细描述#
定义CheckHTTPLogByToken(token string, timeout ...float64) ([]*tpb.HTTPRequestTriggerNotification, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
token | string | |
timeout | ...float64 |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []*tpb.HTTPRequestTriggerNotification | |
r2 | error |
#
CheckICMPTriggerByLength#
详细描述#
定义CheckICMPTriggerByLength(i int) (*tpb.ICMPTriggerNotification, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *tpb.ICMPTriggerNotification | |
r2 | error |
#
CheckRandomTriggerByToken#
详细描述#
定义CheckRandomTriggerByToken(t string) (*tpb.RandomPortTriggerEvent, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
t | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *tpb.RandomPortTriggerEvent | |
r2 | error |
#
CheckServerReachable#
详细描述CheckServerReachable 通过 Bridge 检查目标是否可达,第一个参数为上下文,第二个参数为目标地址,第三个参数为是否进行 http 检测,返回的第一个值是 CheckServerReachableResponse,第二个值是错误
Example:
resp = risk.CheckServerReachable(context.Background(), "example.com", false)~print(resp.Reachable) // 是否可达
#
定义CheckServerReachable(ctx context.Context, target string, httpCheck bool) (*tpb.CheckServerReachableResponse, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
ctx | context.Context | |
target | string | |
httpCheck | bool |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *tpb.CheckServerReachableResponse | |
r2 | error |
#
CreateRisk#
详细描述CreateRisk 创建漏洞记录结构体,但是并不会保存到数据库,第一个参数是目标URL,后面可以传入零个或多个选项参数,用于指定 risk 的结构,其通常与 Save 一起使用
Example:
r = risk.CreateRisk("http://example.com", risk.title("SQL注入漏洞"), risk.type("sqli"), risk.severity("high"), risk.description(""), risk.solution(""))risk.Save(r)
#
定义CreateRisk(u string, opts ...RiskParamsOpt) *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
u | string | |
opts | ...RiskParamsOpt |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *schema.Risk |
#
DeleteRiskByID#
详细描述DeleteRiskByID 根据风险记录ID删除风险记录
#
定义DeleteRiskByID(id int64) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
id | int64 |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
DeleteRiskByTarget#
详细描述DeleteRiskByTarget 根据目标(ip或ip:port)删除风险记录
Example:
risk.DeleteRiskByTarget("example.com")
#
定义DeleteRiskByTarget(addr string) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
addr | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
ExtractTokenFromUrl#
详细描述#
定义ExtractTokenFromUrl(tokenUrl string) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
tokenUrl | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
HaveReverseRisk#
详细描述HaveReverseRisk 通过轮询检查是否存在对应token的反连记录,重试最多5次,每次等待1秒, 如果存在返回true,否则返回false
Example:
if risk.HaveReverseRisk("token") { // 轮询检查是否存在反连风险,会阻塞println("have reverse risk")}
#
定义HaveReverseRisk(token string) bool
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
token | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | bool |
#
NewDNSLogDomain#
详细描述NewDNSLogDomain 返回一个公网 Bridge 的 DNSLog 域名,返回的第一个值是域名,第二个值是 token,第三个值是错误
Example:
domain, token = risk.NewDNSLogDomain()~
#
定义NewDNSLogDomain() (domain string, token string, _ error)
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
domain | string | |
token | string | |
_ | error |
#
NewHTTPLog#
详细描述NewHTTPLog 返回一个公网 Bridge 的 HTTPLog 域名,返回的第一个值是域名,第二个值是 token,第三个值是错误
Example:
domain, token = risk.NewHTTPLog()~
#
定义NewHTTPLog(i ...any) (domain string, token string, _ error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | ...any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
domain | string | |
token | string | |
_ | error |
#
NewLocalReverseHTTPSUrl#
详细描述NewLocalReverseHTTPSUrl 返回一个本地 Bridge 的反向 HTTPS URL
Example:
url := risk.NewLocalReverseHTTPSUrl()
#
定义NewLocalReverseHTTPSUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewLocalReverseHTTPUrl#
详细描述NewLocalReverseHTTPUrl 返回一个本地 Bridge 的反向 HTTP URL
Example:
url := risk.NewLocalReverseHTTPUrl()
#
定义NewLocalReverseHTTPUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewLocalReverseRMIUrl#
详细描述NewLocalReverseRMIUrl 返回一个本地 Bridge 的反向 RMI URL
Example:
url := risk.NewLocalReverseRMIUrl()
#
定义NewLocalReverseRMIUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewPublicReverseHTTPSUrl#
详细描述NewPublicReverseHTTPSUrl 返回一个公网 Bridge 的反向 HTTPS URL
Example:
url := risk.NewPublicReverseHTTPSUrl()
#
定义NewPublicReverseHTTPSUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewPublicReverseHTTPUrl#
详细描述NewPublicReverseHTTPUrl 返回一个公网 Bridge 的反向 HTTP URL
Example:
url := risk.NewPublicReverseHTTPUrl()
#
定义NewPublicReverseHTTPUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewPublicReverseRMIUrl#
详细描述NewPublicReverseRMIUrl 返回一个公网 Bridge 的反向 RMI URL
Example:
url := risk.NewPublicReverseRMIUrl()
#
定义NewPublicReverseRMIUrl() string
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
NewRandomPortTrigger#
详细描述NewRandomPortTrigger 返回一个公网 Bridge 的随机端口反连检测地址,返回的第一个值是 token,第二个值是检测地址,第三个值是错误
Example:
token, addr = risk.NewRandomPortTrigger()~
#
定义NewRandomPortTrigger(opt ...RiskParamsOpt) (token string, addr string, _ error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
opt | ...RiskParamsOpt |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
token | string | |
addr | string | |
_ | error |
#
NewRisk#
详细描述#
定义NewRisk(target string, opts ...yakit.RiskParamsOpt)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
target | string | |
opts | ...yakit.RiskParamsOpt |
#
NewUnverifiedRisk#
详细描述#
定义NewUnverifiedRisk(u string, token string, opts ...RiskParamsOpt) (*schema.Risk, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
u | string | |
token | string | |
opts | ...RiskParamsOpt |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *schema.Risk | |
r2 | error |
#
QueryRisksByKeyword#
详细描述QueryRisksByKeyword 根据关键字查询风险记录,返回风险记录的管道
Example:
for risk := range risk.QueryRisksByKeyword("SQL注入", risk.severity("high")) {println(risk)}
#
定义QueryRisksByKeyword(keyword string, opts ...yakit.RiskParamsOpt) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
keyword | string | |
opts | ...yakit.RiskParamsOpt |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
RegisterBeforeRiskSave#
详细描述#
定义RegisterBeforeRiskSave(f func(*schema.Risk))
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
f | func(*schema.Risk) |
#
Save#
详细描述Save 将漏洞记录结构体保存到数据库中其通常与 CreateRisk 一起使用
Example:
r = risk.CreateRisk("http://example.com", risk.title("SQL注入漏洞"), risk.type("sqli"), risk.severity("high"))risk.Save(r)
#
定义Save(r *schema.Risk) error
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
r | *schema.Risk |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | error |
#
YieldRiskByCreateAt#
详细描述YieldRiskByCreateAt 根据创建时间戳获取风险记录,返回风险记录的管道
Example:
ts = time.Parse("2006-01-02 15:04:05", "2020-01-01 00:00:00")~.Unix()for risk := range risk.YieldRiskByCreateAt(ts) {println(risk)}
#
定义YieldRiskByCreateAt(timestamp int64) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
timestamp | int64 |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
YieldRiskByIds#
详细描述YieldRiskByIds 根据 Risk ID 获取风险记录,返回风险记录的管道
Example:
for risk := range risk.YieldRiskByIds([1,2,3]) {println(risk)}
#
定义YieldRiskByIds(ids []int) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
ids | []int |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
YieldRiskByRuntimeId#
详细描述YieldRiskByRuntimeId 根据 RuntimeID 获取风险记录,返回风险记录的管道
Example:
for risk := range risk.YieldRiskByRuntimeId("161c5372-3e75-46f6-a6bf-1a3182da625e") {println(risk)}
#
定义YieldRiskByRuntimeId(runtimeId string) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
runtimeId | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
YieldRiskByScriptName#
详细描述YieldRiskByScriptName 根据插件名戳获取风险记录,返回风险记录的管道
Example:
for risk := range risk.YieldRiskByScriptName("基础 XSS 检测") {println(risk)}
#
定义YieldRiskByScriptName(scriptName string) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
scriptName | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
YieldRiskByTarget#
详细描述YieldRiskByTarget 根据目标(ip或ip:port)获取风险记录,返回风险记录的管道
Example:
for risk := range risk.YieldRiskByTarget("example.com") {println(risk)}
#
定义YieldRiskByTarget(target string) chan *schema.Risk
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
target | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | chan *schema.Risk |
#
cve#
详细描述cve 是一个选项参数,用于指定风险记录的 CVE 编号
Example:
risk.NewRisk(target, risk.cve("CVE-2021-22145"))
#
定义cve(s string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
s | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
description#
详细描述description 是一个选项参数,用于指定漏洞记录的描述
Example:
risk.NewRisk(target, risk.description(description))
#
定义description(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
details#
详细描述details 是一个选项参数,用于指定风险记录的详细信息
Example:
risk.NewRisk(target, risk.details({"message": message, "ohter_message": message}))
#
定义details(i any) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
fromYakScript#
详细描述fromScript 是一个选项参数,用于指定风险记录的来源插件名
Example:
risk.NewRisk(target, risk.fromScript("plugin_name"))
#
定义fromYakScript(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
ignore#
详细描述#
定义ignore(r *schema.Risk)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
r | *schema.Risk |
#
ip#
详细描述#
定义ip(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
level#
详细描述severity 是一个选项参数,用于指定风险记录的严重程度
可用的严重程度有: critical, high, warning, info, low
Example:
risk.NewRisk(target, risk.severity("high"))
#
定义level(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
parameter#
详细描述parameter 是一个选项参数,用于指定风险记录的参数
Example:
risk.NewRisk(target, risk.parameter("param"))
#
定义parameter(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
payload#
详细描述payload 是一个选项参数,用于指定漏洞记录的载荷(payload)
Example:
risk.NewRisk(target, risk.payload("payload"))
#
定义payload(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
potential#
详细描述#
定义potential(i bool) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | bool |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
request#
详细描述request 是一个选项参数,用于指定风险记录的原始请求报文
Example:
risk.NewRisk(target, risk.request(req))
#
定义request(i any) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
response#
详细描述response 是一个选项参数,用于指定风险记录的原始响应报文
Example:
risk.NewRisk(target, risk.response(resp))
#
定义response(i any) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
runtimeId#
详细描述runtimeId 是一个选项参数,用于指定风险记录的运行时 ID
Example:
risk.NewRisk(target, risk.runtimeId(runtime_id))
#
定义runtimeId(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
severity#
详细描述severity 是一个选项参数,用于指定风险记录的严重程度
可用的严重程度有: critical, high, warning, info, low
Example:
risk.NewRisk(target, risk.severity("high"))
#
定义severity(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
solution#
详细描述solution 是一个选项参数,用于指定漏洞记录的解决方案
Example:
risk.NewRisk(target, risk.description(description), risk.solution(solution))
#
定义solution(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
tag#
详细描述#
定义tag(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
title#
详细描述title 是一个选项参数,用于指定漏洞记录的标题
Example:
risk.NewRisk(target, risk.title(title))
#
定义title(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
titleVerbose#
详细描述titleVerbose 是一个选项参数,用于指定漏洞记录的详细标题
Example:
risk.NewRisk(target, risk.titleVerbose(verbose_title))
#
定义titleVerbose(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
token#
详细描述token 是一个选项参数,用于指定风险记录的反连 token
Example:
risk.NewRisk(target, risk.token("token"))
#
定义token(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
type#
详细描述type 是一个选项参数,用于指定风险类型,可用的风险类型:
SQL 注入: sqli,sqlinj,sql-inj,sqlinjection,sql-injection
跨站脚本:xss
远程执行: rce,rce-command,rce-code
文件操作: lfi,file-read,file-download,rfi,file-write,file-upload
其他注入类型: xxe,ssti
序列化问题: unserialize,deserialization
访问控制: unauth-access
未授权访问: auth-bypass,authentication-bypass,privilege-escalation
信息泄露: path-traversal,info-exposure,information-exposure
配置与凭证问题: insecure-default,weak-pass,weak-password,weak-credential
逻辑漏洞: logic
安全测试: compliance-test,cve-baseline
服务端请求伪造: ssrf
跨站请求伪造 : csrf
反连检测: random-port-trigger[tcp],random-port-trigger[udp],reverse,reverse-,reverse-tcp,reverse-tls,reverse-rmi,reverse-rmi-handshake,reverse-http,reverse-https,reverse-dns,reverse-ldap
Example:
risk.NewRisk(addr,risk.title("CVE-2021-22145"),risk.severity("low"),risk.titleVerbose("CVE-2021-22145 Elasticsearch 敏感信息泄漏漏洞"),risk.type("info-exposure"),risk.cve("CVE-2021-22145"),)
#
定义type(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |
#
typeVerbose#
详细描述typeVerbose 是一个选项参数,用于指定风险类型的详细描述
Example:
risk.NewRisk(target, risk.typeVerbose("SQL注入漏洞"))
#
定义typeVerbose(i string) RiskParamsOpt
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
i | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | RiskParamsOpt |