Path: blob/dev/pkg/templates/templates_doc_examples.go
2070 views
// Package templates1// nolint //do not lint as examples with no usage2package templates34import (5"github.com/projectdiscovery/nuclei/v3/pkg/model"6"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"7"github.com/projectdiscovery/nuclei/v3/pkg/model/types/stringslice"8"github.com/projectdiscovery/nuclei/v3/pkg/operators"9"github.com/projectdiscovery/nuclei/v3/pkg/operators/extractors"10"github.com/projectdiscovery/nuclei/v3/pkg/operators/matchers"11"github.com/projectdiscovery/nuclei/v3/pkg/protocols/dns"12"github.com/projectdiscovery/nuclei/v3/pkg/protocols/file"13"github.com/projectdiscovery/nuclei/v3/pkg/protocols/http"14"github.com/projectdiscovery/nuclei/v3/pkg/protocols/network"15)1617var (18exampleInfoStructure = model.Info{19Name: "Argument Injection in Ruby Dragonfly",20Authors: stringslice.StringSlice{Value: "0xspara"},21SeverityHolder: severity.Holder{Severity: severity.High},22Reference: stringslice.NewRawStringSlice("https://zxsecurity.co.nz/research/argunment-injection-ruby-dragonfly/"),23Tags: stringslice.StringSlice{Value: "cve,cve2021,rce,ruby"},24}25exampleNormalHTTPRequest = &http.Request{26Method: http.HTTPMethodTypeHolder{MethodType: http.HTTPGet},27Path: []string{"{{BaseURL}}/.git/config"},28Operators: operators.Operators{29MatchersCondition: "and",30Matchers: []*matchers.Matcher{31{Type: matchers.MatcherTypeHolder{MatcherType: matchers.WordsMatcher}, Words: []string{"[core]"}},32{Type: matchers.MatcherTypeHolder{MatcherType: matchers.DSLMatcher}, DSL: []string{"!contains(tolower(body), '<html')", "!contains(tolower(body), '<body')"}, Condition: "and"},33{Type: matchers.MatcherTypeHolder{MatcherType: matchers.StatusMatcher}, Status: []int{200}}},34},35}36_ = exampleNormalHTTPRequest3738recursion = false39exampleNormalDNSRequest = &dns.Request{40Name: "{{FQDN}}",41RequestType: dns.DNSRequestTypeHolder{DNSRequestType: dns.CNAME},42Class: "inet",43Retries: 2,44Recursion: &recursion,45Operators: operators.Operators{46Extractors: []*extractors.Extractor{47{Type: extractors.ExtractorTypeHolder{ExtractorType: extractors.RegexExtractor}, Regex: []string{"ec2-[-\\d]+\\.compute[-\\d]*\\.amazonaws\\.com", "ec2-[-\\d]+\\.[\\w\\d\\-]+\\.compute[-\\d]*\\.amazonaws\\.com"}},48},49},50}51_ = exampleNormalDNSRequest5253exampleNormalFileRequest = &file.Request{54Extensions: []string{"all"},55Operators: operators.Operators{56Extractors: []*extractors.Extractor{57{Type: extractors.ExtractorTypeHolder{ExtractorType: extractors.RegexExtractor}, Regex: []string{"amzn\\.mws\\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"}},58},59},60}61_ = exampleNormalFileRequest6263exampleNormalNetworkRequest = &network.Request{64Inputs: []*network.Input{{Data: "envi\r\nquit\r\n"}},65Address: []string{"{{Hostname}}", "{{Hostname}}:2181"},66ReadSize: 2048,67Operators: operators.Operators{68Matchers: []*matchers.Matcher{69{Type: matchers.MatcherTypeHolder{MatcherType: matchers.WordsMatcher}, Words: []string{"zookeeper.version"}},70},71},72}73_ = exampleNormalNetworkRequest74)757677