File tree Expand file tree Collapse file tree
aikido_zen/vulnerabilities/path_traversal Expand file tree Collapse file tree Original file line number Diff line number Diff 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 = "\x14 file:///../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:///../\t file/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+ }
You can’t perform that action at this time.
0 commit comments