Skip to content

Commit bb67788

Browse files
timokoesslerbitterpanda63
authored andcommitted
Add unit tests for special file url cases
1 parent ebc9abc commit bb67788

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

aikido_zen/vulnerabilities/path_traversal/check_context_for_path_traversal_test.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,37 @@ def test_ignores_invalid_filename_type(monkeypatch):
122122
filename = object()
123123
result = check_context_for_path_traversal(filename, "op", UnsafeContext())
124124
assert len(result) == 0
125+
126+
127+
def test_detects_path_traversal_with_url_control_character(monkeypatch):
128+
monkeypatch.setattr("aikido_zen.context.get_current_context", lambda: None)
129+
130+
filename = "\x14file:///../file/test.txt"
131+
result = check_context_for_path_traversal(filename, "op", UnsafeContext())
132+
assert result == {
133+
"operation": "op",
134+
"kind": "path_traversal",
135+
"source": "body",
136+
"pathToPayload": ".path",
137+
"metadata": {
138+
"filename": "/../file/test.txt",
139+
},
140+
"payload": "../file",
141+
}
142+
143+
144+
def test_detects_path_traversal_with_url_tab_character(monkeypatch):
145+
monkeypatch.setattr("aikido_zen.context.get_current_context", lambda: None)
146+
147+
filename = "filE:///../\tfile/test.txt"
148+
result = check_context_for_path_traversal(filename, "op", UnsafeContext())
149+
assert result == {
150+
"operation": "op",
151+
"kind": "path_traversal",
152+
"source": "body",
153+
"pathToPayload": ".path",
154+
"metadata": {
155+
"filename": "/../file/test.txt",
156+
},
157+
"payload": "../file",
158+
}

0 commit comments

Comments
 (0)