Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 447636b

Browse files
committed
Attempt to add MyBatis' sinks and taint steps to SQL and OGNL injection queries
1 parent e000163 commit 447636b

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

java/ql/lib/semmle/code/java/security/OgnlInjection.qll

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,13 @@ private class DefaultOgnlInjectionAdditionalTaintStep extends OgnlInjectionAddit
122122
setExpressionStep(node1, node2)
123123
}
124124
}
125+
126+
private import semmle.code.java.frameworks.MyBatis::ProviderInjection
127+
128+
private class MyBatisOgnlInjectionSink extends OgnlInjectionSink instanceof MyBatisInjectionSink { }
129+
130+
private class MyBatisAbstractSQLOgnlInjectionStep extends OgnlInjectionAdditionalTaintStep {
131+
override predicate step(DataFlow::Node node1, DataFlow::Node node2) {
132+
any(MyBatisAbstractSQLStep step).step(node1, node2)
133+
}
134+
}

java/ql/lib/semmle/code/java/security/QueryInjection.qll

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,13 @@ private class MongoJsonStep extends AdditionalQueryInjectionTaintStep {
6666
)
6767
}
6868
}
69+
70+
private import semmle.code.java.frameworks.MyBatis::ProviderInjection
71+
72+
private class MyBatisSqlInjectionSink extends QueryInjectionSink instanceof MyBatisInjectionSink { }
73+
74+
private class MyBatisAbstractSQLInjectionStep extends AdditionalQueryInjectionTaintStep {
75+
override predicate step(DataFlow::Node node1, DataFlow::Node node2) {
76+
any(MyBatisAbstractSQLStep step).step(node1, node2)
77+
}
78+
}

0 commit comments

Comments
 (0)