We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent aa488e5 commit a0a1c58Copy full SHA for a0a1c58
1 file changed
java/ql/test/experimental/query-tests/security/CWE-208/ComparingValueOfSensetiveHeader.java
@@ -0,0 +1,20 @@
1
+import javax.servlet.http.HttpServletRequest;
2
+import java.nio.charset.StandardCharsets;
3
+import java.security.MessageDigest;
4
+
5
6
+private boolean UnsafecsrfComparison(String csrfTokenInCookie) {
7
+ if(csrfTokenInCookie == null || !csrfTokenInCookie.equals(request.getHeader("X-CSRF-TOKEN"))) { // BAD
8
+ return false;
9
+ }
10
+}
11
12
13
+private boolean safecsrfComparison(String csrfTokenInCookie) {
14
+ String csrfTokenInRequest = request.getHeader("X-CSRF-TOKEN");
15
+ if (csrfTokenInRequest == null || !MessageDigest.isEqual(
16
+ csrfTokenInCookie.getBytes(StandardCharsets.UTF_8),
17
+ csrfTokenInRequest.getBytes(StandardCharsets.UTF_8))) { // GOOD
18
19
20
0 commit comments