From 02d1ec148b40470b8bbb25dd833c1e1aace51a8b Mon Sep 17 00:00:00 2001 From: manunio Date: Thu, 31 Oct 2024 12:40:56 +0530 Subject: [PATCH] fuzz: fix boundary error (#179) Co-authored-by: Marcelo Trylesinski --- fuzz/fuzz_form.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/fuzz/fuzz_form.py b/fuzz/fuzz_form.py index c990639..9a3d854 100644 --- a/fuzz/fuzz_form.py +++ b/fuzz/fuzz_form.py @@ -29,8 +29,15 @@ def parse_form_urlencoded(fdp: EnhancedDataProvider) -> None: def parse_multipart_form_data(fdp: EnhancedDataProvider) -> None: - header = {"Content-Type": "multipart/form-data; boundary=--boundary"} - parse_form(header, io.BytesIO(fdp.ConsumeRandomBytes()), on_field, on_file) + boundary = "boundary" + header = {"Content-Type": f"multipart/form-data; boundary={boundary}"} + body = ( + f"--{boundary}\r\n" + f"Content-Type: multipart/form-data; boundary={boundary}\r\n\r\n" + f"{fdp.ConsumeRandomString()}\r\n" + f"--{boundary}--\r\n" + ) + parse_form(header, io.BytesIO(body.encode("latin1", errors="ignore")), on_field, on_file) def TestOneInput(data: bytes) -> None: