Documentation
¶
Index ¶
- Constants
- func MapToString(m map[string]interface{}) string
- func SaveResult(result []Result) string
- func UnFlat(input []byte) []byte
- type AssertPortInfo
- type Config
- type DomainResult
- type DomainscanVulResult
- type FScan
- type Framework
- type Frameworks
- type GOGOConfig
- type GOGOData
- type GOGOResult
- type GOGOResults
- type Goby
- type GobyAssetSearchRequest
- type GobyAssetSearchResponse
- type GobyProgessRequest
- type GobyProgressResponse
- type GobyStartScanRequest
- type GobyStartScanResponse
- type GobyVulnerabilityRequest
- type GobyVulnerabilityResponse
- type Gogo
- type IPResult
- type ImportOfflineResult
- type Nuclei
- type OfflineVulResult
- type PortResult
- type PortscanVulResult
- type Result
- type Vuln
- type Vulns
- type Xray
Constants ¶
View Source
const ( APITaskList = "/api/v1/tasks" APIStartScan = "/api/v1/startScan" APIGetAsset = "/api/v1/assetSearch" APIGetVulnerability = "/api/v1/vulnerabilitySearch" APIProgress = "/api/v1/getProgress" // SleepDelayTimeSecond 任务执行出错时的休眠间隔 SleepDelayTimeSecond = 10 // CheckProgressTimeSecond 检查任务执行结果的时间 CheckProgressTimeSecond = 10 // StartScanRandWaitTimeSecond 同时多个任务开始时,goby可能冲突会导致返回相同的taskid StartScanRandWaitTimeSecond = 10 )
View Source
const ( FrameFromDefault = iota FrameFromACTIVE FrameFromICO FrameFromNOTFOUND FrameFromGUESS )
Variables ¶
This section is empty.
Functions ¶
func MapToString ¶
Types ¶
type AssertPortInfo ¶
type AssertPortInfo struct {
Port string `json:"port"`
Hostinfo string `json:"hostinfo"`
Url string `json:"url"`
Product string `json:"product"`
Protocol string `json:"protocol"`
Json string `json:"json"`
Fid []string `json:"fid"`
Products []string `json:"products"`
Protocols []string `json:"protocols"`
}
AssertPortInfo 端口信息
type DomainscanVulResult ¶
type DomainscanVulResult struct {
sync.RWMutex `json:"-"`
DomainResult map[string]*DomainResult
}
DomainscanVulResult 域名结果
func (*DomainscanVulResult) HasDomain ¶
func (r *DomainscanVulResult) HasDomain(domain string) bool
func (*DomainscanVulResult) SetDomain ¶
func (r *DomainscanVulResult) SetDomain(domain string)
func (*DomainscanVulResult) SetDomainVul ¶
func (r *DomainscanVulResult) SetDomainVul(domain string, vul string)
type Framework ¶
type Frameworks ¶
func (Frameworks) String ¶
func (fs Frameworks) String() string
type GOGOConfig ¶
type GOGOConfig struct {
IP string `json:"ip"`
IPlist []string `json:"ips"`
Ports string `json:"ports"`
JsonFile string `json:"json_file"`
ListFile string `json:"list_file"`
Threads int `json:"threads"` // 线程数
Mod string `json:"mod"` // 扫描模式
AliveSprayMod []string `json:"alive_spray"`
PortSpray bool `json:"port_spray"`
Exploit string `json:"exploit"`
JsonType string `json:"json_type"`
VersionLevel int `json:"version_level"`
}
type GOGOData ¶
type GOGOData struct {
Config GOGOConfig `json:"config"`
IP string `json:"ip"`
Data GOGOResults `json:"data"`
}
type GOGOResult ¶
type GOGOResult struct {
Ip string `json:"ip"` // ip
Port string `json:"port"` // port
Uri string `json:"uri,omitempty"` // uri
Os string `json:"os,omitempty"` // os
Host string `json:"host,omitempty"` // host
Frameworks Frameworks `json:"frameworks,omitempty"` // framework
Vulns Vulns `json:"vulns,omitempty"`
Extracteds map[string][]string `json:"extracted,omitempty"`
Protocol string `json:"protocol"` // protocol
Status string `json:"status"` // http_stat
Language string `json:"language"`
Title string `json:"title"` // title
Midware string `json:"midware"` // midware
}
type GOGOResults ¶
type GOGOResults []*GOGOResult
type Goby ¶
type Goby struct {
Config Config
Result []Result
AssertContent []byte
// contains filtered or unexported fields
}
func (*Goby) GetVulnerability ¶
GetVulnerability 获取扫描漏洞结果
type GobyAssetSearchRequest ¶
type GobyAssetSearchRequest struct {
Query string `json:"query"`
Options struct {
Page struct {
Page int `json:"page"`
Size int `json:"size"`
} `json:"page"`
} `json:"options"`
}
GobyAssetSearchRequest 获取扫描端口信息请求参数
type GobyAssetSearchResponse ¶
type GobyAssetSearchResponse struct {
StatusCode int `json:"statusCode"`
Messages string `json:"messages"`
Data struct {
Ips []struct {
Ip string `json:"ip"`
Mac string `json:"mac"`
Os string `json:"os"`
Hostname string `json:"hostname"`
Honeypot string `json:"honeypot,omitempty"`
Ports []struct {
Port string `json:"port"`
Baseprotocol string `json:"baseprotocol"`
} `json:"ports"`
Protocols map[string]AssertPortInfo `json:"protocols"`
Vulnerabilities []struct {
Hostinfo string `json:"hostinfo"`
Name string `json:"name"`
Filename string `json:"filename"`
Level string `json:"level"`
Vulurl string `json:"vulurl"`
Keymemo string `json:"keymemo"`
Hasexp bool `json:"hasexp "`
} `json:"vulnerabilities"`
Screenshots interface{} `json:"screenshots"`
Favicons interface{} `json:"favicons"`
Hostnames []string `json:"hostnames"`
} `json:"ips"`
} `json:"data"`
}
GobyAssetSearchResponse 扫描端口信息返回
type GobyProgessRequest ¶
type GobyProgessRequest struct {
Taskid string `json:"taskid"`
}
GobyProgessRequest 扫描进度请求参数
type GobyProgressResponse ¶
type GobyProgressResponse struct {
StatusCode int `json:"statusCode"`
Messages string `json:"messages"`
Data struct {
Logs interface{} `json:"logs"`
Progress int `json:"progress"`
State int `json:"state"`
} `json:"data"`
}
GobyProgressResponse 扫描进度返回结果
type GobyStartScanRequest ¶
type GobyStartScanRequest struct {
Asset struct {
Ips []string `json:"ips"`
Ports string `json:"ports"`
BlackIps []string `json:"blackIps"`
} `json:"asset"`
Vulnerability struct {
//-vulmode int
//vulmode: 0 general(no bruteforce, but include webvulscan),
// 1 only_burte_pocs,
// 2 all_pocs,
// 3 only_list_pocs,
// 4 only_webvulscan,
// 5 only_appvul,
// -1 disable
Type string `json:"type"`
} `json:"vulnerability"`
Options struct {
Random bool `json:"random,omitempty"`
Rate int `json:"rate,omitempty"`
//-hostListMode
// whether enable hostListMode, which targets is hostinfo list, aka Fast mode
HostListMode bool `json:"hostListMode,omitempty"`
//-portscanmode intport scan mode: 0 is pcap, 1 is tcpudp
Portscanmode int `json:"portscanmode,omitempty"`
CheckHoneyPot bool `json:"CheckHoneyPot,omitempty"`
PingFirst bool `json:"pingFirst,omitempty"`
//-pingCheckSize int
// ping check size, only valid when set pingfirst (default 10)
// -pingConcurrent int
// ping concurrent, only valid when set pingfirst (default 2)
// -pingSendCount int
// ping senbd count, only valid when set pingfirst (default 2)
PingCheckSize int `json:"pingCheckSize,omitempty"`
PingConcurrent int `json:"pingConcurren,omitempty"`
PingSendCount int `json:"pingSendCount,omitempty"`
DefaultUserAgent string `json:"defaultUserAgent,omitempty"`
SocketTimeout int `json:"socketTimeout,omitempty"`
RetryTimes int `json:"retryTimes,omitempty"`
CheckAliveMode int `json:"checkAliveMode,omitempty"`
} `json:"options"`
}
GobyStartScanRequest 扫描任务请求参数
type GobyStartScanResponse ¶
type GobyStartScanResponse struct {
StatusCode int `json:"statusCode"`
Messages string `json:"messages"`
Data struct {
TaskId string `json:"taskId"`
} `json:"data"`
}
GobyStartScanResponse 扫描任务启动的返回结果
type GobyVulnerabilityRequest ¶
type GobyVulnerabilityRequest struct {
TaskId string `json:"taskId"`
Type string `json:"type"`
Query string `json:"query"`
Options struct {
Page struct {
Page int `json:"page"`
Size int `json:"size"`
} `json:"page"`
} `json:"options"`
}
GobyVulnerabilityRequest 扫描结果中的漏洞信息请求参数
type GobyVulnerabilityResponse ¶
type GobyVulnerabilityResponse struct {
StatusCode int `json:"statusCode"`
Messages string `json:"messages"`
Data struct {
Total struct {
Ips int `json:"ips"`
Vulnerabilities int `json:"vulnerabilities"`
} `json:"total"`
Lists []struct {
Name string `json:"name"`
Nums int `json:"nums"`
Lists []struct {
Hostinfo string `json:"hostinfo"`
Name string `json:"name"`
Filename string `json:"filename"`
Level string `json:"level,omitempty"`
Vulurl string `json:"vulurl,omitempty"`
Keymemo string `json:"keymemo,omitempty"`
Hasexp bool `json:"hasexp,omitempty"`
} `json:"lists"`
} `json:"lists"`
} `json:"data"`
}
GobyVulnerabilityResponse 扫描结果中的漏洞结果
type Gogo ¶
type Gogo struct {
}
Gogo 导入gogo的扫描结果
func (*Gogo) ParseContentResult ¶
ParseContentResult 解析gogo扫描的文本结果
type ImportOfflineResult ¶
type ImportOfflineResult struct {
VulResult []Result
// contains filtered or unexported fields
}
func NewImportOfflineResult ¶
func NewImportOfflineResult(resultType string, workspaceId int) *ImportOfflineResult
func (*ImportOfflineResult) Parse ¶
func (i *ImportOfflineResult) Parse(content []byte)
type OfflineVulResult ¶
type PortscanVulResult ¶
PortscanVulResult ip结果
func (*PortscanVulResult) HasIP ¶
func (r *PortscanVulResult) HasIP(ip string) bool
func (*PortscanVulResult) SetIP ¶
func (r *PortscanVulResult) SetIP(ip string)
func (*PortscanVulResult) SetPort ¶
func (r *PortscanVulResult) SetPort(ip string, port int)
func (*PortscanVulResult) SetPortVul ¶
func (r *PortscanVulResult) SetPortVul(ip string, port int, vul string)
type Vuln ¶
type Vuln struct {
Name string `json:"name"`
Payload map[string]interface{} `json:"payload,omitempty"`
Detail map[string]interface{} `json:"detail,omitempty"`
SeverityLevel int `json:"severity"`
}
func (*Vuln) GetPayload ¶
type Xray ¶
func (*Xray) LoadDefaultPocFile ¶
LoadDefaultPocFile 加载xray内置的poc文件列表
Click to show internal directories.
Click to hide internal directories.