Skip to content

Commit f6a0876

Browse files
committed
Change the secure random tests to restrict the cookies they generate to just the page they came from.
Fix some unintentional DOM XSS issues in the UI.
1 parent b8c8797 commit f6a0876

File tree

2,173 files changed

+13847
-12261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,173 files changed

+13847
-12261
lines changed

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00010.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,20 +73,24 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
7373

7474
boolean foundUser = false;
7575
javax.servlet.http.Cookie[] cookies = request.getCookies();
76-
for (int i = 0; cookies != null && ++i < cookies.length && !foundUser;) {
77-
javax.servlet.http.Cookie cookie = cookies[i];
78-
if (cookieName.equals(cookie.getName())) {
79-
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
80-
foundUser = true;
76+
if (cookies != null) {
77+
for (int i = 0; !foundUser && i < cookies.length; i++) {
78+
javax.servlet.http.Cookie cookie = cookies[i];
79+
if (cookieName.equals(cookie.getName())) {
80+
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
81+
foundUser = true;
82+
}
8183
}
8284
}
8385
}
86+
8487

8588
if (foundUser) {
8689
response.getWriter().println("Welcome back: " + user + "<br/>");
8790
} else {
8891
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
8992
rememberMe.setSecure(true);
93+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
9094
request.getSession().setAttribute(cookieName, rememberMeKey);
9195
response.addCookie(rememberMe);
9296
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00016.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
6464
javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie("SomeCookie", str);
6565

6666
cookie.setSecure(true);
67+
cookie.setPath("/benchmark/" + this.getClass().getSimpleName());
6768

6869
response.addCookie(cookie);
6970

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00023.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,13 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5858

5959
boolean foundUser = false;
6060
javax.servlet.http.Cookie[] cookies = request.getCookies();
61-
for (int i = 0; cookies != null && ++i < cookies.length && !foundUser;) {
62-
javax.servlet.http.Cookie cookie = cookies[i];
63-
if (cookieName.equals(cookie.getName())) {
64-
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
65-
foundUser = true;
61+
if (cookies != null) {
62+
for (int i = 0; !foundUser && i < cookies.length; i++) {
63+
javax.servlet.http.Cookie cookie = cookies[i];
64+
if (cookieName.equals(cookie.getName())) {
65+
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
66+
foundUser = true;
67+
}
6668
}
6769
}
6870
}
@@ -72,6 +74,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
7274
} else {
7375
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
7476
rememberMe.setSecure(true);
77+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
7578
request.getSession().setAttribute(cookieName, rememberMeKey);
7679
response.addCookie(rememberMe);
7780
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00042.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,20 +60,24 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
6060

6161
boolean foundUser = false;
6262
javax.servlet.http.Cookie[] cookies = request.getCookies();
63-
for (int i = 0; cookies != null && ++i < cookies.length && !foundUser;) {
64-
javax.servlet.http.Cookie cookie = cookies[i];
65-
if (cookieName.equals(cookie.getName())) {
66-
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
67-
foundUser = true;
63+
if (cookies != null) {
64+
for (int i = 0; !foundUser && i < cookies.length; i++) {
65+
javax.servlet.http.Cookie cookie = cookies[i];
66+
if (cookieName.equals(cookie.getName())) {
67+
if (cookie.getValue().equals(request.getSession().getAttribute(cookieName))) {
68+
foundUser = true;
69+
}
6870
}
6971
}
7072
}
73+
7174

7275
if (foundUser) {
7376
response.getWriter().println("Welcome back: " + user + "<br/>");
7477
} else {
7578
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
7679
rememberMe.setSecure(true);
80+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
7781
request.getSession().setAttribute(cookieName, rememberMeKey);
7882
response.addCookie(rememberMe);
7983
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00059.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5353
}
5454

5555

56-
StringBuilder sbxyz94707 = new StringBuilder(param);
57-
String bar = sbxyz94707.append("_SafeStuff").toString();
56+
StringBuilder sbxyz54487 = new StringBuilder(param);
57+
String bar = sbxyz54487.append("_SafeStuff").toString();
5858

5959

6060
// Code based on example from:

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00062.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5454

5555

5656
String bar = "safe!";
57-
java.util.HashMap<String,Object> map92865 = new java.util.HashMap<String,Object>();
58-
map92865.put("keyA-92865", "a Value"); // put some stuff in the collection
59-
map92865.put("keyB-92865", param); // put it in a collection
60-
map92865.put("keyC", "another Value"); // put some stuff in the collection
61-
bar = (String)map92865.get("keyB-92865"); // get it back out
57+
java.util.HashMap<String,Object> map57069 = new java.util.HashMap<String,Object>();
58+
map57069.put("keyA-57069", "a Value"); // put some stuff in the collection
59+
map57069.put("keyB-57069", param); // put it in a collection
60+
map57069.put("keyC", "another Value"); // put some stuff in the collection
61+
bar = (String)map57069.get("keyB-57069"); // get it back out
6262

6363

6464
String fileName = null;

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00066.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
8888
} else {
8989
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
9090
rememberMe.setSecure(true);
91+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
9192
request.getSession().setAttribute(cookieName, rememberMeKey);
9293
response.addCookie(rememberMe);
9394
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00067.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,20 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5454

5555

5656
// Chain a bunch of propagators in sequence
57-
String a19312 = param; //assign
58-
StringBuilder b19312 = new StringBuilder(a19312); // stick in stringbuilder
59-
b19312.append(" SafeStuff"); // append some safe content
60-
b19312.replace(b19312.length()-"Chars".length(),b19312.length(),"Chars"); //replace some of the end content
61-
java.util.HashMap<String,Object> map19312 = new java.util.HashMap<String,Object>();
62-
map19312.put("key19312", b19312.toString()); // put in a collection
63-
String c19312 = (String)map19312.get("key19312"); // get it back out
64-
String d19312 = c19312.substring(0,c19312.length()-1); // extract most of it
65-
String e19312 = new String( new sun.misc.BASE64Decoder().decodeBuffer(
66-
new sun.misc.BASE64Encoder().encode( d19312.getBytes() ) )); // B64 encode and decode it
67-
String f19312 = e19312.split(" ")[0]; // split it on a space
57+
String a38294 = param; //assign
58+
StringBuilder b38294 = new StringBuilder(a38294); // stick in stringbuilder
59+
b38294.append(" SafeStuff"); // append some safe content
60+
b38294.replace(b38294.length()-"Chars".length(),b38294.length(),"Chars"); //replace some of the end content
61+
java.util.HashMap<String,Object> map38294 = new java.util.HashMap<String,Object>();
62+
map38294.put("key38294", b38294.toString()); // put in a collection
63+
String c38294 = (String)map38294.get("key38294"); // get it back out
64+
String d38294 = c38294.substring(0,c38294.length()-1); // extract most of it
65+
String e38294 = new String( new sun.misc.BASE64Decoder().decodeBuffer(
66+
new sun.misc.BASE64Encoder().encode( d38294.getBytes() ) )); // B64 encode and decode it
67+
String f38294 = e38294.split(" ")[0]; // split it on a space
6868
org.owasp.benchmark.helpers.ThingInterface thing = org.owasp.benchmark.helpers.ThingFactory.createThing();
69-
String g19312 = "barbarians_at_the_gate"; // This is static so this whole flow is 'safe'
70-
String bar = thing.doSomething(g19312); // reflection
69+
String g38294 = "barbarians_at_the_gate"; // This is static so this whole flow is 'safe'
70+
String bar = thing.doSomething(g38294); // reflection
7171

7272

7373
double value = java.lang.Math.random();
@@ -96,6 +96,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
9696
} else {
9797
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
9898
rememberMe.setSecure(true);
99+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
99100
request.getSession().setAttribute(cookieName, rememberMeKey);
100101
response.addCookie(rememberMe);
101102
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00068.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
8888
} else {
8989
javax.servlet.http.Cookie rememberMe = new javax.servlet.http.Cookie(cookieName, rememberMeKey);
9090
rememberMe.setSecure(true);
91+
rememberMe.setPath("/benchmark/" + this.getClass().getSimpleName());
9192
request.getSession().setAttribute(cookieName, rememberMeKey);
9293
response.addCookie(rememberMe);
9394
response.getWriter().println(user + " has been remembered with cookie: " + rememberMe.getName()

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00074.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5454

5555

5656
String bar = "safe!";
57-
java.util.HashMap<String,Object> map36265 = new java.util.HashMap<String,Object>();
58-
map36265.put("keyA-36265", "a Value"); // put some stuff in the collection
59-
map36265.put("keyB-36265", param); // put it in a collection
60-
map36265.put("keyC", "another Value"); // put some stuff in the collection
61-
bar = (String)map36265.get("keyB-36265"); // get it back out
57+
java.util.HashMap<String,Object> map95031 = new java.util.HashMap<String,Object>();
58+
map95031.put("keyA-95031", "a Value"); // put some stuff in the collection
59+
map95031.put("keyB-95031", param); // put it in a collection
60+
map95031.put("keyC", "another Value"); // put some stuff in the collection
61+
bar = (String)map95031.get("keyB-95031"); // get it back out
6262

6363

6464
try {

0 commit comments

Comments
 (0)