Skip to content

Commit d38c48d

Browse files
committed
Python: Move ReflectedXSS configuration to own file
1 parent 1897a0d commit d38c48d

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

python/ql/src/Security/CWE-079/ReflectedXss.ql

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,9 @@
1313
*/
1414

1515
import python
16-
import semmle.python.dataflow.new.DataFlow
17-
import semmle.python.dataflow.new.TaintTracking
18-
import semmle.python.Concepts
19-
import semmle.python.dataflow.new.RemoteFlowSources
16+
import semmle.python.security.dataflow.ReflectedXSS
2017
import DataFlow::PathGraph
2118

22-
class ReflectedXssConfiguration extends TaintTracking::Configuration {
23-
ReflectedXssConfiguration() { this = "ReflectedXssConfiguration" }
24-
25-
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
26-
27-
override predicate isSink(DataFlow::Node sink) {
28-
exists(HTTP::Server::HttpResponse response |
29-
response.getMimetype().toLowerCase() = "text/html" and
30-
sink = response.getBody()
31-
)
32-
}
33-
}
34-
3519
from ReflectedXssConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink
3620
where config.hasFlowPath(source, sink)
3721
select sink.getNode(), source, sink, "Cross-site scripting vulnerability due to $@.",
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* Provides a taint-tracking configuration for reasoning about reflected server-side
3+
* cross-site scripting vulnerabilities.
4+
*/
5+
6+
import python
7+
import semmle.python.dataflow.new.DataFlow
8+
import semmle.python.dataflow.new.TaintTracking
9+
import semmle.python.Concepts
10+
import semmle.python.dataflow.new.RemoteFlowSources
11+
12+
/**
13+
* A taint-tracking configuration for reasoning about reflected server-side cross-site
14+
* scripting vulnerabilities.
15+
*/
16+
class ReflectedXssConfiguration extends TaintTracking::Configuration {
17+
ReflectedXssConfiguration() { this = "ReflectedXssConfiguration" }
18+
19+
override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
20+
21+
override predicate isSink(DataFlow::Node sink) {
22+
exists(HTTP::Server::HttpResponse response |
23+
response.getMimetype().toLowerCase() = "text/html" and
24+
sink = response.getBody()
25+
)
26+
}
27+
}

0 commit comments

Comments
 (0)