From d01c0a0b85d3c0893caacc86595f6e4d55c626b6 Mon Sep 17 00:00:00 2001 From: Mobb autofixer Date: Mon, 28 Oct 2024 18:22:20 +0000 Subject: [PATCH] mobb fix commit: ad550a65-eb13-47bc-9b2e-e57f5629859d --- .../sqlinjection/advanced/SqlInjectionLesson6a.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/owasp/webgoat/lessons/sqlinjection/advanced/SqlInjectionLesson6a.java b/src/main/java/org/owasp/webgoat/lessons/sqlinjection/advanced/SqlInjectionLesson6a.java index 313c739100..de990bdbc4 100644 --- a/src/main/java/org/owasp/webgoat/lessons/sqlinjection/advanced/SqlInjectionLesson6a.java +++ b/src/main/java/org/owasp/webgoat/lessons/sqlinjection/advanced/SqlInjectionLesson6a.java @@ -63,15 +63,16 @@ public AttackResult injectableQuery(String accountName) { String query = ""; try (Connection connection = dataSource.getConnection()) { boolean usedUnion = true; - query = "SELECT * FROM user_data WHERE last_name = '" + accountName + "'"; + query = "SELECT * FROM user_data WHERE last_name = ?"; // Check if Union is used if (!accountName.matches("(?i)(^[^-/*;)]*)(\\s*)UNION(.*$)")) { usedUnion = false; } - try (Statement statement = - connection.createStatement( - ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)) { - ResultSet results = statement.executeQuery(query); + try (PreparedStatement statement = + connection.prepareStatement( + query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)) { + statement.setString(1, accountName); + ResultSet results = statement.executeQuery(); if ((results != null) && results.first()) { ResultSetMetaData resultsMetaData = results.getMetaData();