Возможно ли провести sql иньекцию для prepared statement sql в Java?
C-подобный:
public PreparedStatement prep(String query) throws SQLException {
return this.db.prepareStatement(expandQuery(query));
}
public PreparedStatement prepAndBind(String query, Object... args) throws SQLException {
PreparedStatement statement = prep(query);
bind(statement, args);
return statement;
}
//Этот код для получения запроса из конфига на стороне сервера
public String expandQuery(String query) {
String newQuery = this.backend.getQueryCache().getQuery(query);
if (newQuery != null)
query = newQuery;
StringBuffer ret = new StringBuffer();
Matcher m = TABLE_PATTERN.matcher(query);
while (m.find())
m.appendReplacement(ret, this.backend.getTableName(m.group(1)));
m.appendTail(ret);
return ret.toString();
}