From b4ec45a487fc97fd43eea176cc7fe8de168e340e Mon Sep 17 00:00:00 2001 From: liquidsec Date: Fri, 4 Oct 2024 15:42:24 -0400 Subject: [PATCH 1/3] fixing bug with parent_url when querystring is present --- bbot/core/helpers/misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bbot/core/helpers/misc.py b/bbot/core/helpers/misc.py index f08444cd4..30dda1c67 100644 --- a/bbot/core/helpers/misc.py +++ b/bbot/core/helpers/misc.py @@ -365,7 +365,7 @@ def parent_url(u): if path.parent == path: return None else: - return urlunparse(parsed._replace(path=str(path.parent))) + return urlunparse(parsed._replace(path=str(path.parent), query='')) def url_parents(u): From 23acdbfd88112836a65c450e8f846867b31f6284 Mon Sep 17 00:00:00 2001 From: liquidsec Date: Fri, 4 Oct 2024 15:47:19 -0400 Subject: [PATCH 2/3] black --- bbot/core/helpers/misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bbot/core/helpers/misc.py b/bbot/core/helpers/misc.py index 30dda1c67..9a42732b0 100644 --- a/bbot/core/helpers/misc.py +++ b/bbot/core/helpers/misc.py @@ -365,7 +365,7 @@ def parent_url(u): if path.parent == path: return None else: - return urlunparse(parsed._replace(path=str(path.parent), query='')) + return urlunparse(parsed._replace(path=str(path.parent), query="")) def url_parents(u): From 495a45201aa7f99a6201dab1595d3102d8a4b8be Mon Sep 17 00:00:00 2001 From: liquidsec Date: Fri, 4 Oct 2024 17:17:26 -0400 Subject: [PATCH 3/3] helper to test parent_url helper --- bbot/test/test_step_1/test_helpers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bbot/test/test_step_1/test_helpers.py b/bbot/test/test_step_1/test_helpers.py index 8bb62917a..91067324d 100644 --- a/bbot/test/test_step_1/test_helpers.py +++ b/bbot/test/test_step_1/test_helpers.py @@ -49,6 +49,8 @@ async def test_helpers_misc(helpers, scan, bbot_scanner, bbot_httpserver): assert helpers.url_depth("http://evilcorp.com/") == 0 assert helpers.url_depth("http://evilcorp.com") == 0 + assert helpers.parent_url("http://evilcorp.com/subdir1/subdir2?foo=bar") == "http://evilcorp.com/subdir1" + ### MISC ### assert helpers.is_domain("evilcorp.co.uk") assert not helpers.is_domain("www.evilcorp.co.uk")