Мы пытаемся предотвратить атаки sparql-инъекциями в нашем приложении. Для генерации sparql-запросов мы использовали классы построителя запросов apache jean (org.apache.jena.arq.querybuilder).Достаточно ли этого для предотвращения атак с использованием инъекций?
Мы попытались внедрить несколько тройок вместо литералов, запрос не возвращает никаких данных.Значит ли это, что классы построителя запросов предотвращают внедрение?
String username="admin\". ?subject ?p ?o . ?subject <urn:publicid:property;name> \"admin";
SelectBuilder sb = new SelectBuilder().addVar( "*" ).addWhere( "?s", RDF.type, Namespace.USER_META_TYPE )
.addWhere( "?s", Namespace.USER_NAME, username );
Я ожидаю, что результирующий набор должен быть пустым, то же самое произошло.