Skip to content

Commit 74cd9a8

Browse files
Cryptographic failures examples
1 parent 25a2912 commit 74cd9a8

File tree

6 files changed

+916
-3
lines changed

6 files changed

+916
-3
lines changed

Diff for: online-store.web/src/main/java/com/itbulls/learnit/onlinestore/web/controllers/EditProfileServlet.java

-3
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
7272
return;
7373
}
7474

75-
System.out.println(request.getParameter("password").equals(loggedInUser.getPassword()));
76-
System.out.println(loggedInUser.getPassword());
77-
7875
if (!request.getParameter("password").equals(loggedInUser.getPassword())) {
7976
request.getSession().setAttribute("errMsg", rb.getString("signup.err.msg.old.password.wrong"));
8077
response.sendRedirect(baseUrl + "/edit-profile");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.itbulls.learnit.onlinestore.web.owasp.cf.problem;
2+
3+
import java.io.IOException;
4+
import java.sql.PreparedStatement;
5+
import java.sql.SQLException;
6+
import java.sql.Statement;
7+
8+
import com.itbulls.learnit.onlinestore.persistence.utils.DBUtils;
9+
10+
import jakarta.servlet.ServletException;
11+
import jakarta.servlet.annotation.WebServlet;
12+
import jakarta.servlet.http.HttpServlet;
13+
import jakarta.servlet.http.HttpServletRequest;
14+
import jakarta.servlet.http.HttpServletResponse;
15+
16+
@WebServlet("/sql-injection-demo")
17+
public class SqlInjectionDemoServlet extends HttpServlet {
18+
19+
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
20+
try (var conn = DBUtils.getConnection()) {
21+
22+
String idParam = request.getParameter("id");
23+
Statement st = conn.createStatement();
24+
25+
try (var rs = st.executeQuery("SELECT last_name, email FROM user WHERE id = " + idParam)) {
26+
while (rs.next()) {
27+
response.getWriter().println("Last name: "
28+
+ rs.getString("last_name") + "\tEmail: "
29+
+ rs.getString("email"));
30+
31+
}
32+
}
33+
34+
} catch (SQLException e) {
35+
e.printStackTrace();
36+
}
37+
}
38+
39+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.itbulls.learnit.onlinestore.web.owasp.cf.solution;
2+
3+
import java.io.IOException;
4+
import java.sql.PreparedStatement;
5+
import java.sql.SQLException;
6+
import java.sql.Statement;
7+
8+
import com.itbulls.learnit.onlinestore.persistence.utils.DBUtils;
9+
10+
import jakarta.servlet.ServletException;
11+
import jakarta.servlet.annotation.WebServlet;
12+
import jakarta.servlet.http.HttpServlet;
13+
import jakarta.servlet.http.HttpServletRequest;
14+
import jakarta.servlet.http.HttpServletResponse;
15+
16+
@WebServlet("/sql-injection-demo-solution")
17+
public class SqlInjectionDemoSolutionServlet extends HttpServlet {
18+
19+
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
20+
try (var conn = DBUtils.getConnection()) {
21+
22+
String idParam = request.getParameter("id");
23+
PreparedStatement ps = conn.prepareStatement("SELECT last_name, email FROM user WHERE id = ?;");
24+
ps.setString(1, idParam);
25+
26+
try (var rs = ps.executeQuery()) {
27+
while (rs.next()) {
28+
response.getWriter().println("Last name: "
29+
+ rs.getString("last_name") + "\tEmail: "
30+
+ rs.getString("email"));
31+
32+
}
33+
}
34+
35+
} catch (SQLException e) {
36+
e.printStackTrace();
37+
}
38+
}
39+
40+
}

0 commit comments

Comments
 (0)