HTTP: Use Field.getQualifiedName in UserControlledRequestField

Also autoformat.
This commit is contained in:
Sauyon Lee
2020-01-28 07:52:15 -08:00
parent d2e5322b94
commit 478f906d7a

View File

@@ -6,23 +6,19 @@ import go
private module StdlibHttp {
/** An access to an HTTP request field whose value may be controlled by an untrusted user. */
private class UserControlledRequestField extends UntrustedFlowSource::Range, DataFlow::FieldReadNode {
private class UserControlledRequestField extends UntrustedFlowSource::Range,
DataFlow::FieldReadNode {
UserControlledRequestField() {
exists(Type req, string fieldName |
req.hasQualifiedName("net/http", "Request") and
this.getField() = req.getField(fieldName) |
exists(string fieldName | this.getField().hasQualifiedName("net/http", "Request", fieldName) |
fieldName = "Body" or fieldName = "Form" or fieldName = "Header" or fieldName = "URL"
)
}
}
private class HeaderGetCall extends UntrustedFlowSource::Range, DataFlow::MethodCallNode {
HeaderGetCall() {
this.getTarget().hasQualifiedName("net/http", "Header", "Get")
}
HeaderGetCall() { this.getTarget().hasQualifiedName("net/http", "Header", "Get") }
}
private class StdlibResponseWriter extends HTTP::ResponseWriter::Range {
StdlibResponseWriter() { this.getType().implements("net/http", "ResponseWriter") }