Skip to content

Commit 3734f28

Browse files
committed
Trim user input before sending to detect_sql_injection
1 parent a72a7d6 commit 3734f28

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

aikido_zen/vulnerabilities/sql_injection/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def detect_sql_injection(query, user_input, dialect):
1616
"""
1717
try:
1818
query_l = query.lower()
19-
userinput_l = user_input.lower()
19+
userinput_l = user_input.lower().strip()
2020
if should_return_early(query_l, userinput_l):
2121
return False
2222

aikido_zen/vulnerabilities/sql_injection/init_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,13 @@ def test_function_calls_as_sql_injections():
413413
is_sql_injection("€foobar()", "€foobar()")
414414

415415

416+
def test_trimmed_user_input_bypass():
417+
is_sql_injection(
418+
"INSERT INTO pets (name, owner) VALUES ('x', 'dummy'), ('injected', 'hacker'); --', 'owner')",
419+
"x', 'dummy'), ('injected', 'hacker'); -- ",
420+
)
421+
422+
416423
def file_paths():
417424
script_dir = os.path.dirname(__file__)
418425
return [

0 commit comments

Comments
 (0)