Skip to content

Commit 86e4713

Browse files
committed
fix #6 tests for xss injection
1 parent 09f6fde commit 86e4713

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

dynamic_breadcrumbs/app_settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
settings, "DYNAMIC_BREADCRUMBS_SHOW_AT_BASE_PATH", False
88
)
99

10-
PATH_ALPHANUMERIC = getattr(
11-
settings, "DYNAMIC_BREADCRUMBS_PATH_ONLY_ALPHANUMERIC", True
10+
PATH_XSS_SAFE_MODE = getattr(
11+
settings, "DYNAMIC_BREADCRUMBS_PATH_XSS_SAFE_MODE", True
1212
)
1313
PATH_MAX_DEPTH = getattr(
1414
settings, "DYNAMIC_BREADCRUMBS_PATH_MAX_DEPTH", 5

tests/tests.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,26 @@ def test_hide_home_at_base_url(self, mock_resolve):
156156
self.assertEqual(len(result), 0)
157157

158158

159+
160+
@patch('dynamic_breadcrumbs.utils.BreadcrumbsItem._get_resolved_url_metadata')
161+
def test_filter_xss_attacks(self, mock_resolve):
162+
mock_resolve = False
163+
164+
app_settings.SHOW_AT_BASE_PATH = False
165+
malicious_code = """
166+
jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
167+
"""
168+
path = f"/level/{malicious_code}/leaf/"
169+
breadcrumbs = Breadcrumbs(path=path)
170+
171+
result = breadcrumbs.as_list()
172+
self.assertEqual(len(result), 0)
173+
174+
175+
176+
177+
178+
159179
# class BreadcrumbsItemTests(TestCase):
160180
# def test_get_resolved_url_metadata_resolves_valid_path(self):
161181
# item = BreadcrumbsItem(

0 commit comments

Comments
 (0)