Skip to content

Commit fb875f5

Browse files
committed
More variety of test cases
1 parent ba3c38c commit fb875f5

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

java/ql/test/query-tests/security/CWE-330/WeakRandomCookies.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import javax.servlet.http.HttpServletRequest;
88
import javax.servlet.http.HttpServletResponse;
99
import javax.servlet.http.Cookie;
10+
import org.apache.commons.lang3.RandomStringUtils;
1011

1112
public class WeakRandomCookies extends HttpServlet {
1213
HttpServletResponse response;
@@ -42,5 +43,26 @@ public void doGet() {
4243

4344
Cookie cookie5 = new Cookie("name", Integer.toString(tlr.nextInt()));
4445
response.addCookie(cookie5); // $hasWeakRandomFlow
46+
47+
Cookie cookie6 = new Cookie("name", RandomStringUtils.random(10));
48+
response.addCookie(cookie6); // $hasWeakRandomFlow
49+
50+
Cookie cookie7 = new Cookie("name", RandomStringUtils.randomAscii(10));
51+
response.addCookie(cookie7); // $hasWeakRandomFlow
52+
53+
long c3 = r.nextLong();
54+
// BAD: The cookie value may be predictable.
55+
Cookie cookie8 = new Cookie("name", Long.toString(c3 * 5));
56+
response.addCookie(cookie8); // $hasWeakRandomFlow
57+
58+
double c4 = Math.random();
59+
// BAD: The cookie value may be predictable.
60+
Cookie cookie9 = new Cookie("name", Double.toString(c4));
61+
response.addCookie(cookie9); // $hasWeakRandomFlow
62+
63+
double c5 = Math.random();
64+
// BAD: The cookie value may be predictable.
65+
Cookie cookie10 = new Cookie("name", Double.toString(++c5));
66+
response.addCookie(cookie10); // $hasWeakRandomFlow
4567
}
4668
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/servlet-api-2.4
1+
//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/servlet-api-2.4:${testdir}/../../../stubs/apache-commons-lang3-3.7

0 commit comments

Comments
 (0)