Documentation
¶
Index ¶
- Variables
- func BinaryLocations(binaryName ...string) []string
- func DebugMockRedis(ctx context.Context, needPasswd bool, passwd ...string) (string, int)
- func FetchCurrentNucleiTemplates(defaultDirs ...string) ([]*templateDesc, error)
- func HandleNucleiResultFromFile(ctx context.Context, fileName string) (chan *PocVul, error)
- func HandleNucleiResultFromReader(i io.Reader) chan *PocVul
- func HandleXrayResultChan(r io.Reader) chan *PocVul
- func LoadYamlPoCDatabase(nucleiDir ...string) error
- func PocVulToRisk(p *PocVul) *schema.Risk
- func PullTemplatesFromGithub(giturl string, proxy ...string) (string, error)
- func RemovePoCDatabase() error
- func ResourceLocations(resResources ...string) []string
- func UpdatePoC(proxy ...string)
- func UpdatePoCWithUrl(u string, proxy ...string)
- type PocInvoker
- type PocVul
- type SubFinderInstance
Constants ¶
This section is empty.
Variables ¶
View Source
var BruterExports = map[string]interface{}{ "GetAvailableBruteTypes": func() []string { return bruteutils.GetBuildinAvailableBruteType() }, "GetUsernameListFromBruteType": bruteutils.GetUsernameListFromBruteType, "GetPasswordListFromBruteType": bruteutils.GetPasswordListFromBruteType, "New": _yakitBruterNew, "concurrentTarget": yakBruteOpt_ConcurrentTarget, "debug": yakBruteOpt_Debug, "userList": yakBruteOpt_userlist, "passList": yakBruteOpt_passlist, "autoDict": yakBruteOpt_autoDict, "concurrent": yakBruteOpt_concurrent, "minDelay": yakBruteOpt_minDelay, "maxDelay": yakBruteOpt_maxDelay, "bruteHandler": yakBruteOpt_coreHandler, "okToStop": yakBruteOpt_OkToStop, "finishingThreshold": yakBruteOpt_FinishingThreshold, }
View Source
var BuildinNucleiYakScriptParam = []*ypb.YakScriptParam{ { Field: "target", DefaultValue: "", TypeVerbose: "string", Required: true, FieldVerbose: "扫描目标", Help: "扫描目标可接受:主机名 / 主机名:端口 / IP段 / URL 等多种格式", }, { Field: "reverse-url", DefaultValue: "", TypeVerbose: "string", FieldVerbose: "反连 URL", Help: "可使用 InteractshURL 也可使用 Yakit Reverse URL", }, { Field: "debug", DefaultValue: "", TypeVerbose: "boolean", FieldVerbose: "设置调试模式", Help: "开启调试模式,调试模式将输出尽量多的调试信息", }, { Field: "proxy", DefaultValue: "", TypeVerbose: "proxy", FieldVerbose: "HTTP 代理", Help: "设置 HTTP 代理", }, }
View Source
var Exports = map[string]interface{}{ "NewPocInvoker": func() (*PocInvoker, error) { return NewPocInvoker() }, "NewBruteUtil": func(t string) (*bruteutils.BruteUtil, error) { res, err := bruteutils.GetBruteFuncByType(t) if err != nil { return nil, err } ut, err := bruteutils.NewMultiTargetBruteUtil(256, 1, 5, res) if err != nil { return nil, utils.Errorf("create brute utils failed: %s", err) } return ut, nil }, }
View Source
var FinPortScanExports = map[string]interface{}{ "Scan": func(target string, port string, opts ...finScanOpt) (chan *finscan.FinScanResult, error) { config := &_yakFinPortScanConfig{ waiting: 10 * time.Second, rateLimitDelayMs: 1, rateLimitDelayGap: 5, } for _, opt := range opts { opt(config) } return _finscanDo(hostsToChan(target), port, config) }, "excludePorts": _finScanOptExcludePorts, "excludeHosts": _finScanOptExcludeHosts, "wait": _finScanOptWaiting, "outputFile": _finScanOptOpenPortResult, "outputPrefix": _finScanOptOpenPortResultPrefix, "initHostFilter": _finScanOptOpenPortInitHostFilter, "initPortFilter": _finScanOptOpenPortInitPortFilter, "rateLimit": _finScanOptRateLimit, "concurrent": _finScanOptConcurrent, }
FinPortScanExports 为了防止网卡过载,5个是上限
- waiting 实现
- timeout
View Source
var FingerprintScanExports = map[string]interface{}{ "Scan": scanFingerprint, "ScanOne": scanOneFingerprint, "ScanFromSynResult": _scanFromTargetStream, "ScanFromSpaceEngine": _scanFromTargetStream, "ScanFromPing": _scanFromPingUtils, "proto": _protoOption, "concurrent": fp.WithPoolSize, "excludePorts": fp.WithExcludePorts, "excludeHosts": fp.WithExcludeHosts, "probeTimeout": fp.WithProbeTimeoutHumanRead, "proxy": fp.WithProxy, "cache": fp.WithCache, "databaseCache": fp.WithDatabaseCache, "webRule": fp.WithWebFingerprintRule, "nmapRule": fp.WithNmapRule, "nmapRarityMax": fp.WithRarityMax, "active": fp.WithActiveMode, "maxProbes": fp.WithProbesMax, "maxProbesConcurrent": fp.WithProbesConcurrentMax, "web": _webOption, "service": _serviceOption, "all": _allOption, "disableDefaultRule": _disableDefaultFingerprint, }
View Source
var NucleiOperationsExports = map[string]interface{}{ "UpdatePoC": UpdatePoC, "PullDatabase": PullTemplatesFromGithub, "UpdateDatabase": LoadYamlPoCDatabase, "RemoveDatabase": RemovePoCDatabase, "AllPoC": FetchCurrentNucleiTemplates, "PocVulToRisk": PocVulToRisk, "GetPoCDir": consts.GetNucleiTemplatesDir, }
View Source
var SubDomainExports = map[string]interface{}{ "Scan": _subdomainScan, "wildcardToStop": subdomain.WithWildCardToStop, "recursive": subdomain.WithAllowToRecursive, "workerConcurrent": subdomain.WithWorkerCount, "dnsServer": subdomain.WithDNSServers, "maxDepth": subdomain.WithMaxDepth, "targetConcurrent": subdomain.WithParallelismTasksCount, "targetTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachTarget(utils.FloatSecondDuration(i)) }, "eachQueryTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachQuery(utils.FloatSecondDuration(i)) }, "eachSearchTimeout": func(i float64) subdomain.ConfigOption { return subdomain.WithTimeoutForEachHTTPSearch(utils.FloatSecondDuration(i)) }, "mainDict": func(i interface{}) subdomain.ConfigOption { return subdomain.WithMainDictionary(utils.StringAsFileParams(i)) }, "recursiveDict": func(i interface{}) subdomain.ConfigOption { return subdomain.WithSubDictionary(utils.StringAsFileParams(i)) }, }
View Source
var SynPortScanExports = map[string]interface{}{ "FixPermission": pcapfix.Fix, "Scan": _scan, "ScanFromPing": _synscanFromPingUtils, "callback": _scanOptCallback, "submitTaskCallback": _scanOptSubmitTaskCallback, "excludePorts": _scanOptExcludePorts, "excludeHosts": _scanOptExcludeHosts, "wait": _scanOptWaiting, "outputFile": _scanOptOpenPortResult, "outputPrefix": _scanOptOpenPortResultPrefix, "initHostFilter": _scanOptOpenPortInitHostFilter, "initPortFilter": _scanOptOpenPortInitPortFilter, "rateLimit": _scanOptRateLimit, "concurrent": _scanOptSYNConcurrent, "iface": _scanOptIface, }
为了防止网卡过载,5个是上限
- waiting 实现
- timeout
Functions ¶
func BinaryLocations ¶
func DebugMockRedis ¶ added in v1.3.1
func HandleXrayResultChan ¶
func LoadYamlPoCDatabase ¶
func PocVulToRisk ¶
func PullTemplatesFromGithub ¶
func RemovePoCDatabase ¶
func RemovePoCDatabase() error
func ResourceLocations ¶
func UpdatePoCWithUrl ¶ added in v1.3.2
Types ¶
type PocInvoker ¶
type PocInvoker struct {
// contains filtered or unexported fields
}
func NewPocInvoker ¶
func NewPocInvoker() (*PocInvoker, error)
type PocVul ¶
type PocVul struct { Source string PocName string CVE string Description string DescriptionZh string MatchedAt string Target string IP string Port int Timestamp int64 Payload string Severity string RawJson string Tags string TitleName string Details map[string]interface{} RuntimeId string // meta info ScriptName string UUID string }
func HandleNucleiResult ¶
type SubFinderInstance ¶
type SubFinderInstance struct {
// contains filtered or unexported fields
}
func NewSubFinderInstance ¶
func NewSubFinderInstance() (*SubFinderInstance, error)
func (*SubFinderInstance) Exec ¶
func (s *SubFinderInstance) Exec(domain string, nsServers ...string) ([]*subdomain.SubdomainResult, error)
func (*SubFinderInstance) SetTimeout ¶
func (s *SubFinderInstance) SetTimeout(ts string)
func (*SubFinderInstance) SetTimeoutRaw ¶
func (s *SubFinderInstance) SetTimeoutRaw(t time.Duration)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.