File tree Expand file tree Collapse file tree 2 files changed +6
-36
lines changed
java/ql/test/query-tests/security Expand file tree Collapse file tree 2 files changed +6
-36
lines changed Original file line number Diff line number Diff line change 1
1
import java
2
- import semmle.code.java.dataflow.TaintTracking
3
- import semmle.code.java.dataflow.FlowSources
4
- import semmle.code.java.security.XSS
2
+ import semmle.code.java.security.XssQuery
5
3
import TestUtilities.InlineExpectationsTest
6
4
7
- module XssConfig implements DataFlow:: ConfigSig {
8
- predicate isSource ( DataFlow:: Node source ) { source instanceof RemoteFlowSource }
9
-
10
- predicate isSink ( DataFlow:: Node sink ) { sink instanceof XssSink }
11
-
12
- predicate isBarrier ( DataFlow:: Node node ) { node instanceof XssSanitizer }
13
-
14
- predicate isAdditionalFlowStep ( DataFlow:: Node node1 , DataFlow:: Node node2 ) {
15
- any ( XssAdditionalTaintStep s ) .step ( node1 , node2 )
16
- }
17
- }
18
-
19
- module XssFlow = TaintTracking:: Global< XssConfig > ;
20
-
21
5
class XssTest extends InlineExpectationsTest {
22
6
XssTest ( ) { this = "XssTest" }
23
7
Original file line number Diff line number Diff line change 1
1
import java
2
- import semmle.code.java.dataflow.TaintTracking
3
- import semmle.code.java.security.QueryInjection
2
+ import semmle.code.java.dataflow.FlowSources
3
+ import semmle.code.java.security.SqlInjectionQuery
4
4
import TestUtilities.InlineExpectationsTest
5
5
6
- private module QueryInjectionFlowConfig implements DataFlow:: ConfigSig {
7
- predicate isSource ( DataFlow:: Node src ) {
8
- src .asExpr ( ) = any ( MethodAccess ma | ma .getMethod ( ) .hasName ( "source" ) )
9
- }
10
-
11
- predicate isSink ( DataFlow:: Node sink ) { sink instanceof QueryInjectionSink }
12
-
13
- predicate isBarrier ( DataFlow:: Node node ) {
14
- node .getType ( ) instanceof PrimitiveType or
15
- node .getType ( ) instanceof BoxedType or
16
- node .getType ( ) instanceof NumberType
17
- }
6
+ private class SourceMethodSource extends RemoteFlowSource {
7
+ SourceMethodSource ( ) { this .asExpr ( ) .( MethodAccess ) .getMethod ( ) .hasName ( "source" ) }
18
8
19
- predicate isAdditionalFlowStep ( DataFlow:: Node node1 , DataFlow:: Node node2 ) {
20
- any ( AdditionalQueryInjectionTaintStep s ) .step ( node1 , node2 )
21
- }
9
+ override string getSourceType ( ) { result = "source" }
22
10
}
23
11
24
- private module QueryInjectionFlow = TaintTracking:: Global< QueryInjectionFlowConfig > ;
25
-
26
12
class HasFlowTest extends InlineExpectationsTest {
27
13
HasFlowTest ( ) { this = "HasFlowTest" }
28
14
You can’t perform that action at this time.
0 commit comments