File tree Expand file tree Collapse file tree 2 files changed +27
-19
lines changed
lib/semmle/code/java/security Expand file tree Collapse file tree 2 files changed +27
-19
lines changed Original file line number Diff line number Diff line change 1+ /** Provides a taint tracking configuration to track cross site scripting. */
2+
3+ import java
4+ import semmle.code.java.dataflow.FlowSources
5+ import semmle.code.java.dataflow.TaintTracking
6+ import semmle.code.java.security.XSS
7+
8+ /**
9+ * A taint-tracking configuration for cross site scripting vulnerabilities.
10+ */
11+ module XssConfig implements DataFlow:: ConfigSig {
12+ predicate isSource ( DataFlow:: Node source ) { source instanceof RemoteFlowSource }
13+
14+ predicate isSink ( DataFlow:: Node sink ) { sink instanceof XssSink }
15+
16+ predicate isBarrier ( DataFlow:: Node node ) { node instanceof XssSanitizer }
17+
18+ predicate isBarrierOut ( DataFlow:: Node node ) { node instanceof XssSinkBarrier }
19+
20+ predicate isAdditionalFlowStep ( DataFlow:: Node node1 , DataFlow:: Node node2 ) {
21+ any ( XssAdditionalTaintStep s ) .step ( node1 , node2 )
22+ }
23+ }
24+
25+ /** Tracks flow from remote sources to cross site scripting vulnerabilities. */
26+ module XssFlow = TaintTracking:: Global< XssConfig > ;
Original file line number Diff line number Diff line change 1212 */
1313
1414import java
15- import semmle.code.java.dataflow.FlowSources
16- import semmle.code.java.security.XSS
17-
18- module XssConfig implements DataFlow:: ConfigSig {
19- predicate isSource ( DataFlow:: Node source ) { source instanceof RemoteFlowSource }
20-
21- predicate isSink ( DataFlow:: Node sink ) { sink instanceof XssSink }
22-
23- predicate isBarrier ( DataFlow:: Node node ) { node instanceof XssSanitizer }
24-
25- predicate isBarrierOut ( DataFlow:: Node node ) { node instanceof XssSinkBarrier }
26-
27- predicate isAdditionalFlowStep ( DataFlow:: Node node1 , DataFlow:: Node node2 ) {
28- any ( XssAdditionalTaintStep s ) .step ( node1 , node2 )
29- }
30- }
31-
32- module XssFlow = TaintTracking:: Global< XssConfig > ;
33-
15+ import semmle.code.java.security.XssQuery
3416import XssFlow:: PathGraph
3517
3618from XssFlow:: PathNode source , XssFlow:: PathNode sink
You can’t perform that action at this time.
0 commit comments