Skip to content

Commit d68ead2

Browse files
committed
Add \r and \f as separators for shell commands
1 parent 33c1226 commit d68ead2

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

aikido_zen/vulnerabilities/shell_injection/contains_shell_syntax.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
"/usr/local/sbin/",
106106
]
107107

108-
separators = [" ", "\t", "\n", ";", "&", "|", "(", ")", "<", ">"]
108+
separators = [" ", "\t", "\n", ";", "&", "|", "(", ")", "<", ">", "\r", "\f"]
109109

110110

111111
# Function to sort commands by length (longer commands first)

aikido_zen/vulnerabilities/shell_injection/contains_shell_syntax_test.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,27 @@ def test_command_with_dangerous_chars():
137137
def test_command_with_path_and_arguments():
138138
assert contains_shell_syntax("/usr/bin/ls -l", "/usr/bin/ls") is True
139139
assert contains_shell_syntax("/bin/cp file1 file2", "/bin/cp") is True
140+
141+
142+
def test_newline_as_separator():
143+
assert contains_shell_syntax("ls\nrm", "rm") is True
144+
assert contains_shell_syntax("echo test\nrm -rf /", "rm") is True
145+
assert contains_shell_syntax("rm\nls", "rm") is True
146+
147+
148+
def test_tab_as_separator():
149+
assert contains_shell_syntax("ls\trm", "rm") is True
150+
assert contains_shell_syntax("echo test\trm -rf /", "rm") is True
151+
assert contains_shell_syntax("rm\tls", "rm") is True
152+
153+
154+
def test_carriage_return_as_separator():
155+
assert contains_shell_syntax("ls\rrm", "rm") is True
156+
assert contains_shell_syntax("echo test\rrm -rf /", "rm") is True
157+
assert contains_shell_syntax("rm\rls", "rm") is True
158+
159+
160+
def test_form_feed_as_separator():
161+
assert contains_shell_syntax("ls\frm", "rm") is True
162+
assert contains_shell_syntax("echo test\frm -rf /", "rm") is True
163+
assert contains_shell_syntax("rm\fls", "rm") is True

0 commit comments

Comments
 (0)