mirror of https://github.com/daffainfo/nuclei.git
support disable-path-automerge in unsafe mode (#3888)
* support disable-path-automerge in unsafe mode * fix dump request url * dep update --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>dev
parent
daecd169c5
commit
1eb4c7c80c
|
@ -24,7 +24,7 @@ require (
|
||||||
github.com/projectdiscovery/fastdialer v0.0.32
|
github.com/projectdiscovery/fastdialer v0.0.32
|
||||||
github.com/projectdiscovery/hmap v0.0.13
|
github.com/projectdiscovery/hmap v0.0.13
|
||||||
github.com/projectdiscovery/interactsh v1.1.4
|
github.com/projectdiscovery/interactsh v1.1.4
|
||||||
github.com/projectdiscovery/rawhttp v0.1.16-0.20230703065054-806b4fcfab11
|
github.com/projectdiscovery/rawhttp v0.1.16
|
||||||
github.com/projectdiscovery/retryabledns v1.0.30
|
github.com/projectdiscovery/retryabledns v1.0.30
|
||||||
github.com/projectdiscovery/retryablehttp-go v1.0.18
|
github.com/projectdiscovery/retryablehttp-go v1.0.18
|
||||||
github.com/projectdiscovery/yamldoc-go v1.0.4
|
github.com/projectdiscovery/yamldoc-go v1.0.4
|
||||||
|
|
|
@ -419,8 +419,8 @@ github.com/projectdiscovery/networkpolicy v0.0.6 h1:yDvm0XCrS9HeemRrBS+J+22surzV
|
||||||
github.com/projectdiscovery/networkpolicy v0.0.6/go.mod h1:8HJQ/33Pi7v3a3MRWIQGXzpj+zHw2d60TysEL4qdoQk=
|
github.com/projectdiscovery/networkpolicy v0.0.6/go.mod h1:8HJQ/33Pi7v3a3MRWIQGXzpj+zHw2d60TysEL4qdoQk=
|
||||||
github.com/projectdiscovery/ratelimit v0.0.8 h1:K6S/DCr48xNxTXHRmU82wl1mj7j0VrXnAKr8sKTacHI=
|
github.com/projectdiscovery/ratelimit v0.0.8 h1:K6S/DCr48xNxTXHRmU82wl1mj7j0VrXnAKr8sKTacHI=
|
||||||
github.com/projectdiscovery/ratelimit v0.0.8/go.mod h1:JJAtj8Rd5DNqN5FgwyMHWIi4BHivOw1+8gDrpsBf8Ic=
|
github.com/projectdiscovery/ratelimit v0.0.8/go.mod h1:JJAtj8Rd5DNqN5FgwyMHWIi4BHivOw1+8gDrpsBf8Ic=
|
||||||
github.com/projectdiscovery/rawhttp v0.1.16-0.20230703065054-806b4fcfab11 h1:kj5HPwajW4IbSYLrZIg03yXGp4id0tYMulSOhU5t5Lo=
|
github.com/projectdiscovery/rawhttp v0.1.16 h1:2wggRuVUty2Sypy1MKWM/NNmfbC97WkG6YtmoxzCOVc=
|
||||||
github.com/projectdiscovery/rawhttp v0.1.16-0.20230703065054-806b4fcfab11/go.mod h1:Wzgdg0OW83RjT73ujY3brKnb7U3aJYDKmCQgbOqv2AY=
|
github.com/projectdiscovery/rawhttp v0.1.16/go.mod h1:Wzgdg0OW83RjT73ujY3brKnb7U3aJYDKmCQgbOqv2AY=
|
||||||
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk=
|
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917 h1:m03X4gBVSorSzvmm0bFa7gDV4QNSOWPL/fgZ4kTXBxk=
|
||||||
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg=
|
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917/go.mod h1:JxXtZC9e195awe7EynrcnBJmFoad/BNDzW9mzFkK8Sg=
|
||||||
github.com/projectdiscovery/retryabledns v1.0.30 h1:7bc8Lq3r/qzw4LdXXAxKtQa52iGiEx1WasZLVCO6Oj0=
|
github.com/projectdiscovery/retryabledns v1.0.30 h1:7bc8Lq3r/qzw4LdXXAxKtQa52iGiEx1WasZLVCO6Oj0=
|
||||||
|
|
|
@ -83,6 +83,7 @@ func Parse(request string, inputURL *urlutil.URL, unsafe, disablePathAutomerge b
|
||||||
}
|
}
|
||||||
unsafeRelativePath = cloned.GetRelativePath()
|
unsafeRelativePath = cloned.GetRelativePath()
|
||||||
}
|
}
|
||||||
|
rawrequest.Path = cloned.GetRelativePath()
|
||||||
rawrequest.UnsafeRawBytes = bytes.Replace(rawrequest.UnsafeRawBytes, []byte(prevPath), []byte(unsafeRelativePath), 1)
|
rawrequest.UnsafeRawBytes = bytes.Replace(rawrequest.UnsafeRawBytes, []byte(prevPath), []byte(unsafeRelativePath), 1)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -535,7 +535,12 @@ func (request *Request) executeRequest(input *contextargs.Context, generatedRequ
|
||||||
options.CustomRawBytes = generatedRequest.rawRequest.UnsafeRawBytes
|
options.CustomRawBytes = generatedRequest.rawRequest.UnsafeRawBytes
|
||||||
options.ForceReadAllBody = request.ForceReadAllBody
|
options.ForceReadAllBody = request.ForceReadAllBody
|
||||||
options.SNI = request.options.Options.SNI
|
options.SNI = request.options.Options.SNI
|
||||||
resp, err = generatedRequest.original.rawhttpClient.DoRawWithOptions(generatedRequest.rawRequest.Method, input.MetaInput.Input, generatedRequest.rawRequest.Path, generators.ExpandMapValues(generatedRequest.rawRequest.Headers), io.NopCloser(strings.NewReader(generatedRequest.rawRequest.Data)), &options)
|
inputUrl := input.MetaInput.Input
|
||||||
|
if url, err := urlutil.ParseURL(inputUrl, false); err == nil {
|
||||||
|
inputUrl = fmt.Sprintf("%s://%s", url.Scheme, url.Host)
|
||||||
|
}
|
||||||
|
formedURL = fmt.Sprintf("%s%s", inputUrl, generatedRequest.rawRequest.Path)
|
||||||
|
resp, err = generatedRequest.original.rawhttpClient.DoRawWithOptions(generatedRequest.rawRequest.Method, inputUrl, generatedRequest.rawRequest.Path, generators.ExpandMapValues(generatedRequest.rawRequest.Headers), io.NopCloser(strings.NewReader(generatedRequest.rawRequest.Data)), &options)
|
||||||
} else {
|
} else {
|
||||||
hostname = generatedRequest.request.URL.Host
|
hostname = generatedRequest.request.URL.Host
|
||||||
formedURL = generatedRequest.request.URL.String()
|
formedURL = generatedRequest.request.URL.String()
|
||||||
|
|
Loading…
Reference in New Issue