MCPcopy
hub / github.com/pingc0y/URLFinder / fuzzGet

Function fuzzGet

crawler/urlFuzz.go:39–95  ·  view source on GitHub ↗

fuzz请求

(u string)

Source from the content-addressed store, hash-verified

37
38// fuzz请求
39func fuzzGet(u string) {
40 defer func() {
41 config.Wg.Done()
42 <-config.Ch
43 util.PrintFuzz()
44 }()
45 if cmd.M == 3 {
46 for _, v := range config.Risks {
47 if strings.Contains(u, v) {
48 return
49 }
50 }
51 }
52 request, err := http.NewRequest("GET", u, nil)
53 if err != nil {
54 return
55 }
56 if cmd.C != "" {
57 request.Header.Set("Cookie", cmd.C)
58 }
59 //增加header选项
60 request.Header.Set("User-Agent", util.GetUserAgent())
61 request.Header.Set("Accept", "*/*")
62 //加载yaml配置
63 if cmd.I {
64 util.SetHeadersConfig(&request.Header)
65 }
66 //处理返回结果
67 response, err := client.Do(request)
68 if err != nil {
69 return
70 } else {
71 defer response.Body.Close()
72 }
73 code := response.StatusCode
74 if strings.Contains(cmd.S, strconv.Itoa(code)) || cmd.S == "all" {
75 var length int
76 dataBytes, err := util.ReadAllLimited(response.Body)
77 if err != nil {
78 length = 0
79 } else {
80 length = len(dataBytes)
81 }
82 body := string(dataBytes)
83 re := regexp.MustCompile("<Title>(.*?)</Title>")
84 title := re.FindAllStringSubmatch(body, -1)
85 config.Lock.Lock()
86 defer config.Lock.Unlock()
87 if len(title) != 0 {
88 result.Fuzzs = append(result.Fuzzs, mode.Link{Url: u, Status: strconv.Itoa(code), Size: strconv.Itoa(length), Title: title[0][1], Source: "Fuzz"})
89 } else {
90 result.Fuzzs = append(result.Fuzzs, mode.Link{Url: u, Status: strconv.Itoa(code), Size: strconv.Itoa(length), Title: "", Source: "Fuzz"})
91 }
92
93 }
94
95}
96func fuzz1(disposes []mode.Link) {

Callers 2

fuzz1Function · 0.85
fuzz2Function · 0.85

Calls 4

PrintFuzzFunction · 0.92
GetUserAgentFunction · 0.92
SetHeadersConfigFunction · 0.92
ReadAllLimitedFunction · 0.92

Tested by

no test coverage detected