Documentation
¶
Index ¶
- Constants
- Variables
- func CheckWaf(status int) bool
- func IntsContains(s []int, e int) bool
- func StringsContains(s []string, e string) bool
- type ErrorType
- type InputOptions
- type MiscOptions
- type ModeOptions
- type Option
- type OutputOptions
- type Pool
- func (p *Pool) BaseCompare(bl *pkg.Baseline)
- func (p *Pool) Close()
- func (p *Pool) Init() error
- func (p *Pool) PreCompare(resp *ihttp.Response) error
- func (p *Pool) PutToFuzzy(bl *pkg.Baseline)
- func (p *Pool) PutToInvalid(bl *pkg.Baseline, reason string)
- func (p *Pool) Run(ctx context.Context, offset, limit int)
- type RequestOptions
- type Runner
- type Unit
Constants ¶
View Source
const ( CheckSource sourceType = iota + 1 InitRandomSource InitIndexSource WordSource WafSource )
Variables ¶
View Source
var ( CheckBadStatus func(int) bool CheckRedirect func(string) bool )
View Source
var ( BlackStatus = []int{} FuzzyStatus = []int{403, 500, 501, 502, 503} WAFStatus = []int{493, 418} )
Functions ¶
func IntsContains ¶ added in v0.1.1
func StringsContains ¶ added in v0.1.1
Types ¶
type InputOptions ¶
type InputOptions struct {
URL string `short:"u" long:"url" description:"String, input baseurl (separated by commas), e.g.: http://google.com, http://baidu.com"`
URLFile string `short:"l" long:"list" description:"File, input filename"`
Offset int `long:"offset" description:"Int, wordlist offset"`
Limit int `long:"limit" description:"Int, wordlist limit, start with offset. e.g.: --offset 1000 --limit 100"`
Dictionaries []string `short:"d" long:"dict" description:"Files, dict files, e.g.: -d 1.txt -d 2.txt"`
Word string `short:"w" long:"word" description:"String, word generate dsl, e.g.: -w test{?ld#4}"`
Extensions string `short:"e" long:"extension" description:"String, add extensions (separated by commas), e.g.: -e jsp,jspx"`
ExcludeExtensions string `long:"exclude-extension" description:"String, exclude extensions (separated by commas), e.g.: --exclude-extension jsp,jspx"`
RemoveExtensions string `long:"remove-extension" description:"String, remove extensions (separated by commas), e.g.: --remove-extension jsp,jspx"`
Uppercase bool `short:"U" long:"uppercase" description:"Bool, upper wordlist, e.g.: --uppercase"`
Lowercase bool `short:"L" long:"lowercase" description:"Bool, lower wordlist, e.g.: --lowercase"`
Prefixes []string `long:"prefix" description:"Strings, add prefix, e.g.: --prefix aaa --prefix bbb"`
Suffixes []string `long:"suffix" description:"Strings, add suffix, e.g.: --suffix aaa --suffix bbb"`
Replaces map[string]string `long:"replace" description:"Strings, replace string, e.g.: --replace aaa:bbb --replace ccc:ddd"`
}
type MiscOptions ¶
type MiscOptions struct {
Deadline int `long:"deadline" default:"99999" description:"Int, deadline (seconds)"` // todo 总的超时时间,适配云函数的deadline
Timeout int `long:"timeout" default:"2" description:"Int, timeout with request (seconds)"`
PoolSize int `short:"p" long:"pool" default:"5" description:"Int, Pool size"`
Threads int `short:"t" long:"thread" default:"20" description:"Int, number of threads per pool (seconds)"`
Debug bool `long:"debug" description:"Bool, output debug info"`
Quiet bool `short:"q" long:"quiet" description:"Bool, Quiet"`
Mod string `short:"m" long:"mod" default:"path" choice:"path" choice:"host" description:"String, path/host spray"`
Client string `short:"c" long:"client" default:"auto" choice:"fast" choice:"standard" choice:"auto" description:"String, Client type"`
}
type ModeOptions ¶
type ModeOptions struct {
Force bool `long:"force"`
CheckOnly bool `long:"check-only"`
CheckPeriod int `long:"check-period" default:"100"`
ErrPeriod int `long:"error-period" default:"10"`
BreakThreshold int `long:"error-threshold" default:"20"`
BlackStatus string `long:"black-status" default:"default"`
}
type Option ¶
type Option struct {
InputOptions
OutputOptions
RequestOptions
ModeOptions
MiscOptions
}
func (*Option) PrepareRunner ¶ added in v0.1.0
type OutputOptions ¶
type OutputOptions struct {
Matches map[string]string `long:"match" description:"String, "`
Filters map[string]string `long:"filter" description:"String, "`
Extracts []string `long:"extract" description:"String, "`
OutputFile string `short:"f" description:"String, output filename"`
FuzzyFile string `long:"fuzzy-file" description:"String, fuzzy output filename"`
Fuzzy bool `long:"fuzzy" description:"String, open fuzzy output"`
OutputProbe string `long:"probe" description:"String, output format"`
}
type Pool ¶ added in v0.1.0
func (*Pool) BaseCompare ¶ added in v0.1.1
func (*Pool) PutToFuzzy ¶ added in v0.1.1
func (*Pool) PutToInvalid ¶ added in v0.1.1
type RequestOptions ¶
type Runner ¶
type Runner struct {
URLList chan string
Wordlist []string
Headers http.Header
Fns []func(string) string
Threads int
PoolSize int
Pools *ants.PoolWithFunc
Timeout int
Mod string
Probes []string
OutputCh chan *pkg.Baseline
FuzzyCh chan *pkg.Baseline
Fuzzy bool
OutputFile *files.File
FuzzyFile *files.File
Force bool
Progress *uiprogress.Progress
Offset int
Limit int
Deadline int
CheckPeriod int
ErrPeriod int
BreakThreshold int
CheckOnly bool
// contains filtered or unexported fields
}
func (*Runner) Outputting ¶ added in v0.1.0
func (r *Runner) Outputting()
Click to show internal directories.
Click to hide internal directories.