File tree Expand file tree Collapse file tree 1 file changed +6
-9
lines changed
java/ql/src/semmle/code/java/security Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Original file line number Diff line number Diff line change
1
+ /** Provides classes to reason about header splitting attacks. */
2
+
1
3
import java
2
4
import semmle.code.java.dataflow.DataFlow
3
5
import semmle.code.java.frameworks.Servlets
4
6
import semmle.code.java.frameworks.JaxWS
5
7
6
- /**
7
- * Header-splitting sinks. Expressions that end up in an HTTP header.
8
- */
8
+ /** Header-splitting sinks. Expressions that end up in an HTTP header. */
9
9
abstract class HeaderSplittingSink extends DataFlow:: Node { }
10
10
11
- /**
12
- * Sources that cannot be used to perform a header splitting attack.
13
- */
11
+ /** Sources that cannot be used to perform a header splitting attack. */
14
12
abstract class SafeHeaderSplittingSource extends DataFlow:: Node { }
15
13
16
- /**
17
- * Header-splitting sinks. Expressions that end up in an HTTP header.
18
- */
14
+ /** Servlet and JaxWS sinks susceptible to header splitting. */
19
15
private class ServletHeaderSplittingSink extends HeaderSplittingSink {
20
16
ServletHeaderSplittingSink ( ) {
21
17
exists ( ResponseAddCookieMethod m , MethodAccess ma |
@@ -41,6 +37,7 @@ private class ServletHeaderSplittingSink extends HeaderSplittingSink {
41
37
}
42
38
}
43
39
40
+ /** Servlet sources considered safe regarding header splitting */
44
41
private class ServletSafeHeaderSplittingSource extends SafeHeaderSplittingSource {
45
42
ServletSafeHeaderSplittingSource ( ) {
46
43
this .asExpr ( ) .( MethodAccess ) .getMethod ( ) instanceof HttpServletRequestGetHeaderMethod or
You can’t perform that action at this time.
0 commit comments