Skip to content

Commit bd5b831

Browse files
committed
Update e2e tests to check if user is part of attack payload
1 parent 1aed2ad commit bd5b831

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

end2end/spring_boot_mysql.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
event_handler = EventHandler()
1818
event_handler.reset()
19-
test_safe_vs_unsafe_payloads(payloads, urls) # Test MySQL driver
20-
test_safe_vs_unsafe_payloads(payloads, urls, "/mariadb") # Also test MariaDB driver
19+
test_safe_vs_unsafe_payloads(payloads, urls, user_id="123") # Test MySQL driver
20+
test_safe_vs_unsafe_payloads(payloads, urls, "/mariadb", user_id="456") # Also test MariaDB driver
2121

2222
# Test blocklists :
2323
test_ip_blocking("http://localhost:8082/")

end2end/spring_boot_mysql/test_two_sql_attacks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ def test_two_sql_attacks(event_handler):
1919
assert_eq(val1=attack1["source"], val2=attack2["source"], equals="body")
2020
# Different :
2121
assert_eq(attack1["operation"], equals="(MySQL Connector/J) java.sql.Connection.prepareStatement")
22-
assert_eq(attack2["operation"], equals="(MariaDB Connector/J) java.sql.Connection.prepareStatement")
22+
assert_eq(attack2["operation"], equals="(MariaDB Connector/J) java.sql.Connection.prepareStatement")
23+
assert_eq(attack1["user"]["id"], attack2["user"]["id"], "123")

end2end/utils/make_requests.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
import urllib.parse
33

44
# Function to make a POST request
5-
def make_post_request(url, data, status_code):
6-
response = requests.post(url, json=data)
5+
def make_post_request(url, data, status_code, user_id=None):
6+
headers = {}
7+
if user_id is not None:
8+
headers['user'] = user_id
9+
response = requests.post(url, json=data, headers=headers)
710

811
# Assert that the status code is 200
912
assert response.status_code == status_code, f"Expected status code {status_code} but got {response.status_code}"

end2end/utils/test_safe_vs_unsafe_payloads.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
from .make_requests import make_post_request, make_path_var_request
22

3-
def test_safe_vs_unsafe_payloads(payloads, urls, route=""):
3+
def test_safe_vs_unsafe_payloads(payloads, urls, route="", user_id=None):
44
print("Safe req to : (1) " + urls["enabled"])
5-
make_post_request(urls["enabled"] + route, payloads["safe"], status_code=200)
5+
make_post_request(urls["enabled"] + route, payloads["safe"], status_code=200, user_id=user_id)
66
print("Safe req to : (0) " + urls["disabled"])
7-
make_post_request(urls["disabled"] + route, payloads["safe"], status_code=200)
7+
make_post_request(urls["disabled"] + route, payloads["safe"], status_code=200, user_id=user_id)
88
print("Unsafe req to : (1) " + urls["enabled"])
9-
make_post_request(urls["enabled"] + route, payloads["unsafe"], status_code=500)
9+
make_post_request(urls["enabled"] + route, payloads["unsafe"], status_code=500, user_id=user_id)
1010
print("Unsafe req to : (0) " + urls["disabled"])
11-
make_post_request(urls["disabled"] + route, payloads["unsafe"], status_code=200)
11+
make_post_request(urls["disabled"] + route, payloads["unsafe"], status_code=200, user_id=user_id)
1212

1313
def test_payloads_path_variables(payloads, urls, route=""):
1414
print("Safe req to : (1) " + urls["enabled"])

0 commit comments

Comments
 (0)