MCPcopy Create free account
hub / github.com/Hackmanit/Web-Cache-Vulnerability-Scanner / ScanHTTPRequestSmuggling

Function ScanHTTPRequestSmuggling

pkg/techniques.go:186–223  ·  view source on GitHub ↗
(proxyURL *url.URL)

Source from the content-addressed store, hash-verified

184}
185
186func ScanHTTPRequestSmuggling(proxyURL *url.URL) reportResult {
187 var repResult reportResult
188 identifier := "HTTP Request Smuggling"
189 repResult.Technique = identifier
190
191 path := Config.Website.Url.Path
192 if Config.Website.Cache.CBisParameter {
193 path, _ = addCachebusterParameter(path, "", Config.Website.Cache.CBName, false)
194 }
195 if path == "" {
196 path = "/"
197 }
198 headers := GenerateHeaderString()
199
200 PrintVerbose("Trying CLTE Request Smuggling\n", NoColor, 1)
201 req := clte(path, headers)
202 httpRequestSmuggling(req, &repResult, proxyURL)
203
204 if !repResult.Vulnerable {
205 PrintVerbose("Trying TECL Request Smuggling\n", NoColor, 1)
206 req = tecl(path, headers)
207 httpRequestSmuggling(req, &repResult, proxyURL)
208 }
209
210 if !repResult.Vulnerable {
211 PrintVerbose("Trying CLCL Request Smuggling\n", NoColor, 1)
212 req = clcl(path, headers)
213 httpRequestSmuggling(req, &repResult, proxyURL)
214 }
215
216 if !repResult.Vulnerable {
217 PrintVerbose("Trying CLCL2 Request Smuggling\n", NoColor, 1)
218 req = clcl2(path, headers)
219 httpRequestSmuggling(req, &repResult, proxyURL)
220 }
221
222 return repResult
223}
224
225/* Scan headers for poisoning */
226func ScanHeaders(headerList []string) reportResult {

Callers 1

runTestsFunction · 0.92

Calls 8

addCachebusterParameterFunction · 0.85
GenerateHeaderStringFunction · 0.85
PrintVerboseFunction · 0.85
clteFunction · 0.85
httpRequestSmugglingFunction · 0.85
teclFunction · 0.85
clclFunction · 0.85
clcl2Function · 0.85

Tested by

no test coverage detected