File tree Expand file tree Collapse file tree 2 files changed +10
-16
lines changed
semmle/code/java/dataflow Expand file tree Collapse file tree 2 files changed +10
-16
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ import java
13
13
import semmle.code.java.dataflow.TaintTracking
14
14
import semmle.code.java.frameworks.Networking
15
15
import DataFlow:: PathGraph
16
+ private import semmle.code.java.dataflow.ExternalFlow
16
17
17
18
class HTTPString extends StringLiteral {
18
19
HTTPString ( ) {
@@ -30,26 +31,12 @@ class HTTPString extends StringLiteral {
30
31
}
31
32
}
32
33
33
- class URLOpenMethod extends Method {
34
- URLOpenMethod ( ) {
35
- this .getDeclaringType ( ) .getQualifiedName ( ) = "java.net.URL" and
36
- (
37
- this .getName ( ) = "openConnection" or
38
- this .getName ( ) = "openStream"
39
- )
40
- }
41
- }
42
-
43
34
class HTTPStringToURLOpenMethodFlowConfig extends TaintTracking:: Configuration {
44
35
HTTPStringToURLOpenMethodFlowConfig ( ) { this = "HttpsUrls::HTTPStringToURLOpenMethodFlowConfig" }
45
36
46
37
override predicate isSource ( DataFlow:: Node src ) { src .asExpr ( ) instanceof HTTPString }
47
38
48
- override predicate isSink ( DataFlow:: Node sink ) {
49
- exists ( MethodAccess m |
50
- sink .asExpr ( ) = m .getQualifier ( ) and m .getMethod ( ) instanceof URLOpenMethod
51
- )
52
- }
39
+ override predicate isSink ( DataFlow:: Node sink ) { sinkNode ( sink , "open-url" ) }
53
40
54
41
override predicate isAdditionalTaintStep ( DataFlow:: Node node1 , DataFlow:: Node node2 ) {
55
42
exists ( UrlConstructorCall u |
Original file line number Diff line number Diff line change @@ -184,7 +184,14 @@ private predicate sourceModelCsv(string row) {
184
184
]
185
185
}
186
186
187
- private predicate sinkModelCsv ( string row ) { none ( ) }
187
+ private predicate sinkModelCsv ( string row ) {
188
+ row =
189
+ [
190
+ // Open URL
191
+ "java.net;URL;false;openConnection;;;Argument[-1];open-url" ,
192
+ "java.net;URL;false;openStream;;;Argument[-1];open-url"
193
+ ]
194
+ }
188
195
189
196
private predicate summaryModelCsv ( string row ) {
190
197
row =
You can’t perform that action at this time.
0 commit comments