Java: Add HttpRequestHandler as a remote flow source

This commit is contained in:
Joe Farebrother
2021-01-28 15:17:08 +00:00
parent 2551aace89
commit 4184ebd091
2 changed files with 22 additions and 0 deletions

View File

@@ -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 |

View File

@@ -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)
)
}
}