mirror of
https://github.com/github/codeql.git
synced 2026-05-03 20:58:03 +02:00
Java: Add HttpRequestHandler as a remote flow source
This commit is contained in:
@@ -163,6 +163,14 @@ private class GuiceRequestParameterSource extends RemoteFlowSource {
|
||||
override string getSourceType() { result = "Guice request parameter" }
|
||||
}
|
||||
|
||||
private class ApacheHttpRequestParameterSource extends RemoteFlowSource {
|
||||
ApacheHttpRequestParameterSource() {
|
||||
this.asParameter() instanceof ApacheHttpRequestHandlerParameter
|
||||
}
|
||||
|
||||
override string getSourceType() { result = "Apache HTTP request parameter" }
|
||||
}
|
||||
|
||||
private class Struts2ActionSupportClassFieldReadSource extends RemoteFlowSource {
|
||||
Struts2ActionSupportClassFieldReadSource() {
|
||||
exists(Struts2ActionSupportClass c |
|
||||
|
||||
@@ -39,3 +39,17 @@ class TypeApacheHttpRequestBuilder extends Class {
|
||||
this.hasQualifiedName("org.apache.http.client.methods", "RequestBuilder")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The `request` parameter of an implementation of `org.apache.http.protocol.HttpRequestHandler.handle`
|
||||
*/
|
||||
class ApacheHttpRequestHandlerParameter extends Parameter {
|
||||
ApacheHttpRequestHandlerParameter() {
|
||||
exists(Method m, Interface i |
|
||||
i.hasQualifiedName("org.apache.http.protocol", "HttpRequestHandler") and
|
||||
m.getDeclaringType().extendsOrImplements+(i) and
|
||||
m.hasName("handle") and
|
||||
this = m.getParameter(0)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user