httpfuzz adds an extra \r\n\r\n before the body of a request.
I believe this is because function RequestFromFile() includes the \n\n or \r\n\r\n sequence that was read from the --seed-request file in req.Body. Then when the request is sent, the http lib adds another \r\n\r\n before this body.
A quick fix would look like:
diff --git a/parser.go b/parser.go
index ae7b290..41ce2d5 100644
--- a/parser.go
+++ b/parser.go
@@ -51,7 +51,11 @@ func RequestFromFile(filename string) (*Request, error) {
bodyOffset = bytes.Index(diskRequestBytes, []byte("\r\n\r\n"))
if bodyOffset == -1 {
return nil, fmt.Errorf("invalid HTTP request provided")
+ } else {
+ bodyOffset += 4
}
+ } else {
+ bodyOffset += 2
}
diskBodyBytes := diskRequestBytes[bodyOffset:]
httpfuzzadds an extra\r\n\r\nbefore the body of a request.I believe this is because function
RequestFromFile()includes the\n\nor\r\n\r\nsequence that was read from the--seed-requestfile inreq.Body. Then when the request is sent, the http lib adds another\r\n\r\nbefore this body.A quick fix would look like: