inline value in nodeLeadingToCsrfWrite

This commit is contained in:
Erik Krogh Kristensen
2020-10-16 14:21:49 +02:00
parent 017c73dce3
commit 27a2cd310d

View File

@@ -103,10 +103,11 @@ DataFlow::CallNode csrfMiddlewareCreation() {
*/
private DataFlow::SourceNode nodeLeadingToCsrfWrite(DataFlow::TypeBackTracker t) {
t.start() and
exists(DataFlow::PropRef value |
value = result.getAPropertyRead(cookieProperty()).getAPropertyWrite() and
value.getPropertyName().regexpMatch("(?i).*(csrf|xsrf).*")
)
result
.getAPropertyRead(cookieProperty())
.getAPropertyWrite()
.getPropertyName()
.regexpMatch("(?i).*(csrf|xsrf).*")
or
exists(DataFlow::TypeBackTracker t2 | result = nodeLeadingToCsrfWrite(t2).backtrack(t2, t))
}