Documentation ¶
Index ¶
- func AltResolveDetection(detections []string, target map[string]string) []string
- func AltResolveHeader(headers []map[string]string, target map[string]string) []map[string]string
- func AltResolveRequest(req *libs.Request)
- func AltResolveVariable(format string, data map[string]string) string
- func Background(options libs.Options)
- func Base64Encode(raw string) string
- func BaseCalculateFiltering(job *libs.Job, options libs.Options)
- func Between(value string, left string, right string) string
- func Body(req libs.Request, arguments []otto.Value) []libs.Request
- func Bytes() []string
- func CalculateFiltering(job *libs.Job, options libs.Options)
- func CommonError(component string) (string, bool)
- func Cookie(req libs.Request, arguments []otto.Value) []libs.Request
- func Encoder(encodeString string, data string) string
- func Execution(cmd string) string
- func Fuzz(req libs.Request, arguments []otto.Value) []libs.Request
- func GenActiveReport(options libs.Options) error
- func GenPassiveReport(options libs.Options) error
- func GenPorts(raw string) []string
- func Generators(req libs.Request, sign libs.Signature) []libs.Request
- func GetComponent(record Record, component string) string
- func GetDnsComponent(record Record, componentName string) string
- func GetPassives(options libs.Options) []libs.Passive
- func Header(req libs.Request, arguments []otto.Value) []libs.Request
- func Host2IP(rawURL string) map[string]string
- func InitConfig(options *libs.Options)
- func InputCmd(Cmd string) string
- func InvokeCmd(rec *Record, rawCmd string) string
- func LocalFileToResponse(job *libs.Job)
- func Method(req libs.Request, arguments []otto.Value) []libs.Request
- func MoreVariables(target map[string]string, sign libs.Signature, options libs.Options) map[string]string
- func ParseBurpRequest(raw string) (req libs.Request)
- func ParseBurpResponse(rawReq string, rawRes string) (res libs.Response)
- func ParseFuzzRequest(record libs.Record, sign libs.Signature) []libs.Request
- func ParseHeaders(rawHeaders map[string][]string) []map[string]string
- func ParseInputFormat(raw string) map[string]string
- func ParseOrigin(req libs.Request, sign libs.Signature, _ libs.Options) libs.Request
- func ParseParams(rawParams []string) map[string]string
- func ParsePassive(passiveFile string) (passive libs.Passive, err error)
- func ParsePayloads(sign libs.Signature) []string
- func ParseRawHeaders(rawHeaders []string) map[string]string
- func ParseRequest(req libs.Request, sign libs.Signature, options libs.Options) []libs.Request
- func ParseRequestFromServer(record *libs.Record, req libs.Request, _ libs.Signature)
- func ParseSign(signFile string) (sign libs.Signature, err error)
- func ParseSignFromContent(content string) (sign libs.Signature, err error)
- func ParseTarget(raw string) map[string]string
- func ParseVariable(sign libs.Signature) []map[string]string
- func Path(req libs.Request, arguments []otto.Value) []libs.Request
- func Query(req libs.Request, arguments []otto.Value) []libs.Request
- func RandomNumber(n int) string
- func RandomString(n int) string
- func RegexCount(component string, analyzeString string) int
- func RegexGrep(realRec Record, arguments []otto.Value) string
- func RegexSearch(component string, analyzeString string) (string, bool)
- func RegexSelect(realRec Record, arguments []otto.Value) map[string]string
- func ReplaceMe(req libs.Request, arguments []otto.Value) []libs.Request
- func ReplicationJob(input string, sign libs.Signature) ([]libs.Job, error)
- func ResolveDetection(detections []string, target map[string]string) []string
- func ResolveHeader(headers []map[string]string, target map[string]string) []map[string]string
- func ResolveVariable(format string, data map[string]string) string
- func RunGenerator(req libs.Request, genString string) []libs.Request
- func RunVariables(variableString string) []string
- func SelectSign(signName string) []string
- func SingleSign(signName string) []string
- func SplitLines(raw string) []string
- func StringCount(component string, analyzeString string) int
- func StringSearch(component string, analyzeString string) bool
- func TurboIntruder(rec *Record) string
- func URLEncode(raw string) string
- func UpdatePlugins(options libs.Options)
- func UpdateSignature(options libs.Options)
- type Record
- func (r *Record) Analyze()
- func (r *Record) Conclude()
- func (r *Record) Condition() bool
- func (r *Record) Detector()
- func (r *Record) DnsDetector() bool
- func (r *Record) DoSending()
- func (r *Record) GetPassivesRules() []string
- func (r *Record) MiddleWare()
- func (r *Record) Output() string
- func (r *Record) PassiveOutput() string
- func (r *Record) Passives()
- func (r *Record) RequestScripts(scriptType string, scripts []string) bool
- func (r *Record) StoreOutput()
- func (r *Record) StorePassiveOutput(rule libs.Rule) string
- type ReportData
- type RoutineRunner
- type Runner
- func (r *Runner) DnsDetection()
- func (r *Runner) GenCRequests()
- func (r *Runner) GenRequests() []libs.Request
- func (r *Runner) GetRequests()
- func (r *Runner) LocalSending()
- func (r *Runner) PrePareOrigin()
- func (r *Runner) PrepareTarget()
- func (r *Runner) Resolving()
- func (r *Runner) SendCRequests()
- func (r *Runner) SendOrigin(originReq libs.Request) (libs.Origin, map[string]string)
- func (r *Runner) Sending()
- func (r *Runner) SendingParallels()
- func (r *Runner) SendingSerial()
- type Vulnerability
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AltResolveDetection ¶
AltResolveDetection resolve detection part in YAML signature file
func AltResolveHeader ¶
AltResolveHeader resolve headers part in YAML signature file
func AltResolveRequest ¶
AltResolveRequest resolve all request again but look for [[ ]] delimiter
func AltResolveVariable ¶
AltResolveVariable just like ResolveVariable but looking for [[.var]]
func Background ¶
Background main function to call other background task
func BaseCalculateFiltering ¶
BaseCalculateFiltering send couple of requests first to do filtering later
func CommonError ¶
CommonError shortcut for common error
func Fuzz ¶
// Usage: Fuzz('{{.payload}}'), Fuzz('{{.payload}}11', 'ANOTHER_FUZZ') Fuzz gen request with fuzz keyword
func GenActiveReport ¶
GenActiveReport generate report file
func GenPassiveReport ¶
GenPassiveReport generate report file
func Generators ¶
Generators run multiple generator
func GetComponent ¶
GetComponent get component to run detection
func GetDnsComponent ¶
func GetPassives ¶
GetPassives get all passives rule
func LocalFileToResponse ¶
func MoreVariables ¶
func MoreVariables(target map[string]string, sign libs.Signature, options libs.Options) map[string]string
MoreVariables get more options to render in sign template
func ParseBurpRequest ¶
ParseBurpRequest parse burp style request
func ParseBurpResponse ¶
ParseBurpResponse parse burp style response
func ParseFuzzRequest ¶
ParseFuzzRequest parse request receive in API server
func ParseHeaders ¶
ParseHeaders parse header for sending method
func ParseInputFormat ¶
ParseInputFormat format input
func ParseOrigin ¶
ParseOrigin parse origin request
func ParseParams ¶
ParseParams parse more params from cli
func ParsePassive ¶
ParsePassive parsing YAML passive file
func ParsePayloads ¶
ParsePayloads parse payload to replace
func ParseRawHeaders ¶
ParseRawHeaders parse more headers from cli
func ParseRequest ¶
ParseRequest parse request part in YAML signature file
func ParseRequestFromServer ¶
ParseRequestFromServer parse request receive from API server
func ParseSignFromContent ¶
ParseSignFromContent parsing YAML signature file
func ParseTarget ¶
ParseTarget parsing target and some variable for template
func ParseVariable ¶
ParseVariable parse variable in YAML signature file
func RegexCount ¶
RegexCount count regex string in component
func RegexSearch ¶
RegexSearch search regex string in component
func RegexSelect ¶
RegexSelect get regex string from component
func ReplicationJob ¶
ReplicationJob replication more jobs based on the signature
func ResolveDetection ¶
ResolveDetection resolve detection part in YAML signature file
func ResolveHeader ¶
ResolveHeader resolve headers part in YAML signature file
func ResolveVariable ¶
ResolveVariable resolve template from signature file
func RunGenerator ¶
RunGenerator is main function for generator
func RunVariables ¶
RunVariables is main function for detections
func SelectSign ¶
SelectSign select signature by multiple selector
func SingleSign ¶
SingleSign select signature by single selector
func StringCount ¶
StringCount count string literal in component
func StringSearch ¶
StringSearch search string literal in component
func TurboIntruder ¶
TurboIntruder execute Turbo Intruder CLI
func UpdatePlugins ¶
UpdatePlugins update latest UI and Plugins from default repo
func UpdateSignature ¶
UpdateSignature update latest UI from UI repo
Types ¶
type Record ¶
type Record struct { // main part Request libs.Request Response libs.Response Sign libs.Signature // for dns part Dns libs.Dns // passive check NoOutput bool DoPassive bool SelectPassive string IsVulnerablePassive bool PassiveString string PassiveMatch string PassiveRules map[string]libs.Rule OriginReq libs.Request OriginRes libs.Response Origins []libs.Origin // for output Opt libs.Options RawOutput string ExtraOutput string // for detection PassCondition bool IsVulnerable bool DetectString string DetectResult string ScanID string }
Record all information about request
func ChooseOrigin ¶
ChooseOrigin choose origin to compare
func (*Record) DnsDetector ¶
func (*Record) GetPassivesRules ¶
GetPassivesRules do passive analyzer based on default passive signature
func (*Record) PassiveOutput ¶
func (*Record) RequestScripts ¶
RequestScripts is main function for detections
func (*Record) StoreOutput ¶
func (r *Record) StoreOutput()
StoreOutput store vulnerable request to a file
type ReportData ¶
type ReportData struct {
Vulnerabilities []Vulnerability
}
type RoutineRunner ¶
type RoutineRunner struct { Input string SendingType string Opt libs.Options Sign libs.Signature Routines []libs.Routine Results map[string]bool Target map[string]string }
RoutineRunner runner struct
func InitRoutine ¶
InitRoutine init routine task
func (*RoutineRunner) DoExpression ¶
func (r *RoutineRunner) DoExpression(expression string) bool
DoExpression start the routine
func (*RoutineRunner) DoInvokes ¶
func (r *RoutineRunner) DoInvokes(invokes []string)
DoExpression start the routine
func (*RoutineRunner) ParseRoutines ¶
func (r *RoutineRunner) ParseRoutines(sign *libs.Signature)
ParseRoutines parse routine
func (*RoutineRunner) StartRunner ¶
func (r *RoutineRunner) StartRunner(routine libs.Routine)
Start start the routine
type Runner ¶
type Runner struct { Input string SendingType string RunnerType string Opt libs.Options Sign libs.Signature Origin Record CRecords []Record CMatched bool InRoutine bool Target map[string]string Records []Record }
Runner runner struct
func InitDNSRunner ¶
InitDNSRunner init task
func InitRunner ¶
InitRunner init task
func (*Runner) DnsDetection ¶
func (r *Runner) DnsDetection()
DnsDetection get requests ready to send
func (*Runner) GenCRequests ¶
func (r *Runner) GenCRequests()
GenCRequests generate condition requests
func (*Runner) GenRequests ¶
GenRequests generate request for sending
func (*Runner) LocalSending ¶
func (r *Runner) LocalSending()
func (*Runner) PrePareOrigin ¶
func (r *Runner) PrePareOrigin()
PrePareOrigin parsing origin request
func (*Runner) PrepareTarget ¶
func (r *Runner) PrepareTarget()
func (*Runner) SendCRequests ¶
func (r *Runner) SendCRequests()
SendCRequests sending condition requests
func (*Runner) SendOrigin ¶
SendOrigin sending origin request
func (*Runner) SendingParallels ¶
func (r *Runner) SendingParallels()
func (*Runner) SendingSerial ¶
func (r *Runner) SendingSerial()
type Vulnerability ¶
type Vulnerability struct { SignID string SignPath string URL string Risk string Confidence string ReportPath string ReportFile string Status string Length string Words string Time string }
func ParsePassiveVuln ¶
func ParsePassiveVuln(options libs.Options) []Vulnerability
ParsePassiveVuln parse vulnerbility based on
func ParseVuln ¶
func ParseVuln(options libs.Options) []Vulnerability
ParseVuln parse vulnerbility based on