Join ServletUrlRedirectSink with UrlRedirectSink

This commit is contained in:
Remco Vermeulen
2020-07-09 14:08:43 +02:00
parent 88f4b224c3
commit ba9f3e2a1e
4 changed files with 21 additions and 26 deletions

View File

@@ -1,24 +0,0 @@
import java
import semmle.code.java.frameworks.Servlets
import semmle.code.java.dataflow.DataFlow
import semmle.code.java.security.UrlRedirect
/**
* A Servlet URL redirection sink.
*/
class ServletUrlRedirectSink extends UrlRedirectSink {
ServletUrlRedirectSink() {
exists(MethodAccess ma |
ma.getMethod() instanceof HttpServletResponseSendRedirectMethod and
this.asExpr() = ma.getArgument(0)
)
or
exists(MethodAccess ma |
ma.getMethod() instanceof ResponseSetHeaderMethod or
ma.getMethod() instanceof ResponseAddHeaderMethod
|
ma.getArgument(0).(CompileTimeConstantExpr).getStringValue() = "Location" and
this.asExpr() = ma.getArgument(1)
)
}
}

View File

@@ -12,7 +12,7 @@
import java
import semmle.code.java.dataflow.FlowSources
import ServletUrlRedirect
import semmle.code.java.security.UrlRedirect
import DataFlow::PathGraph
class UrlRedirectConfig extends TaintTracking::Configuration {

View File

@@ -12,7 +12,7 @@
import java
import semmle.code.java.dataflow.FlowSources
import ServletUrlRedirect
import semmle.code.java.security.UrlRedirect
import DataFlow::PathGraph
class UrlRedirectLocalConfig extends TaintTracking::Configuration {