Skip to content

Commit fcc0f1d

Browse files
committed
Expand test to exercise all sinks
1 parent e439b7d commit fcc0f1d

File tree

1 file changed

+16
-0
lines changed
  • java/ql/test/query-tests/security/CWE-079/semmle/tests

1 file changed

+16
-0
lines changed

java/ql/test/query-tests/security/CWE-079/semmle/tests/JsfXSS.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
import java.util.Map;
33

44
import javax.faces.component.UIComponent;
5+
import javax.faces.context.ExternalContext;
56
import javax.faces.context.FacesContext;
67
import javax.faces.context.ResponseWriter;
78
import javax.faces.render.FacesRenderer;
89
import javax.faces.render.Renderer;
10+
import javax.servlet.http.Cookie;
911

1012
@FacesRenderer(componentFamily = "", rendererType = "")
1113
public class JsfXSS extends Renderer
@@ -50,4 +52,18 @@ public void encodeBegin2(FacesContext facesContext, UIComponent component) throw
5052
writer.write("})();");
5153
writer.write("</script>");
5254
}
55+
56+
public void testAllSources(FacesContext facesContext) throws IOException
57+
{
58+
ExternalContext ec = facesContext.getExternalContext();
59+
ResponseWriter writer = facesContext.getResponseWriter();
60+
writer.write(ec.getRequestParameterMap().keySet().iterator().next()); // $xss
61+
writer.write(ec.getRequestParameterNames().next()); // $xss
62+
writer.write(ec.getRequestParameterValuesMap().get("someKey")[0]); // $xss
63+
writer.write(ec.getRequestParameterValuesMap().keySet().iterator().next()); // $xss
64+
writer.write(ec.getRequestPathInfo()); // $xss
65+
writer.write(((Cookie)ec.getRequestCookieMap().get("someKey")).getName()); // $xss
66+
writer.write(ec.getRequestHeaderMap().get("someKey")); // $xss
67+
writer.write(ec.getRequestHeaderValuesMap().get("someKey")[0]); // $xss
68+
}
5369
}

0 commit comments

Comments
 (0)