File tree Expand file tree Collapse file tree 2 files changed +8
-7
lines changed
semmle/code/java/security Expand file tree Collapse file tree 2 files changed +8
-7
lines changed Original file line number Diff line number Diff line change 13
13
import java
14
14
import semmle.code.java.dataflow.FlowSources
15
15
import semmle.code.java.security.UrlRedirect
16
- import semmle.code.java.dataflow.ExternalFlow
17
16
import DataFlow:: PathGraph
18
17
19
18
class UrlRedirectConfig extends TaintTracking:: Configuration {
20
19
UrlRedirectConfig ( ) { this = "UrlRedirectConfig" }
21
20
22
21
override predicate isSource ( DataFlow:: Node source ) { source instanceof RemoteFlowSource }
23
22
24
- override predicate isSink ( DataFlow:: Node sink ) {
25
- sink instanceof UrlRedirectSink
26
- or
27
- sinkNode ( sink , "url-redirect" )
28
- }
23
+ override predicate isSink ( DataFlow:: Node sink ) { sink instanceof UrlRedirectSink }
29
24
}
30
25
31
26
from DataFlow:: PathNode source , DataFlow:: PathNode sink , UrlRedirectConfig conf
Original file line number Diff line number Diff line change 2
2
3
3
import java
4
4
import semmle.code.java.dataflow.DataFlow
5
+ import semmle.code.java.dataflow.ExternalFlow
5
6
import semmle.code.java.frameworks.Servlets
6
7
import semmle.code.java.frameworks.ApacheHttp
7
8
private import semmle.code.java.frameworks.JaxWS
8
9
9
- /** A URL redirection sink */
10
+ /** A URL redirection sink. */
10
11
abstract class UrlRedirectSink extends DataFlow:: Node { }
11
12
13
+ /** A default sink represeting methods susceptible to URL redirection attacks. */
14
+ private class DefaultUrlRedirectSink extends UrlRedirectSink {
15
+ DefaultUrlRedirectSink ( ) { sinkNode ( this , "url-redirect" ) }
16
+ }
17
+
12
18
/** A Servlet URL redirection sink. */
13
19
private class ServletUrlRedirectSink extends UrlRedirectSink {
14
20
ServletUrlRedirectSink ( ) {
You can’t perform that action at this time.
0 commit comments