From 2e371fb29d837e27bca36a41d8eb167472e38823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Do=C4=9Fan=20Can=20Bak=C4=B1r?= Date: Wed, 15 Jan 2025 13:44:41 +0300 Subject: [PATCH] set headers for fuzzing request --- pkg/protocols/http/request_fuzz.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/protocols/http/request_fuzz.go b/pkg/protocols/http/request_fuzz.go index da68300f87..570a943498 100644 --- a/pkg/protocols/http/request_fuzz.go +++ b/pkg/protocols/http/request_fuzz.go @@ -62,6 +62,7 @@ func (request *Request) executeFuzzingRule(input *contextargs.Context, previous if err != nil { return errors.Wrap(err, "fuzz: could not build request obtained from target file") } + request.addHeadersToRequest(baseRequest) input.MetaInput.Input = baseRequest.URL.String() // execute with one value first to checks its applicability err = request.executeAllFuzzingRules(input, previous, baseRequest, callback) @@ -94,6 +95,7 @@ func (request *Request) executeFuzzingRule(input *contextargs.Context, previous } userAgent := useragent.PickRandom() baseRequest.Header.Set("User-Agent", userAgent.Raw) + request.addHeadersToRequest(baseRequest) // execute with one value first to checks its applicability err = request.executeAllFuzzingRules(inputx, previous, baseRequest, callback) @@ -112,6 +114,12 @@ func (request *Request) executeFuzzingRule(input *contextargs.Context, previous return nil } +func (request *Request) addHeadersToRequest(baseRequest *retryablehttp.Request) { + for k, v := range request.Headers { + baseRequest.Header.Set(k, v) + } +} + // executeAllFuzzingRules executes all fuzzing rules defined in template for a given base request func (request *Request) executeAllFuzzingRules(input *contextargs.Context, values map[string]interface{}, baseRequest *retryablehttp.Request, callback protocols.OutputEventCallback) error { applicable := false