简体   繁体   English

SPARQL 本地文件包括 (LFI) 和远程命令执行 (RCE)

[英]SPARQL local files include (LFI) & remote command execution (RCE)

I am pentesting an application using GraphDB and I found a lot of injections in SPARQL requests.我正在使用 GraphDB 测试一个应用程序,我在 SPARQL 请求中发现了很多注入。 There is very little information about SPARQL injections and I don't really know this DB language.关于 SPARQL 注入的信息很少,我也不太了解这种数据库语言。 Does anyone know if it is possible to include files or execute commands in SPARQL (like one would do with SQL)?有谁知道是否可以在 SPARQL 中包含文件或执行命令(就像使用 SQL 一样)?

Thank you.谢谢你。

SPARQL Query and SPARQL Update are different languages. SPARQL 查询和 SPARQL 更新是不同的语言。

A SPARQL Update is invalid as SPARQL Query syntax. SPARQL 更新作为 SPARQL 查询语法无效。

The kind of operation (query or update) is clear from either the endpoint URL called or the HTTP request content-type.从调用的端点 URL 或 HTTP 请求内容类型可以清楚地看出操作类型(查询或更新)。

In the W3C Standard SPARQL, there are no "call out" execution operator.在 W3C 标准 SPARQL 中,没有“调用”执行运算符。

SPARQL does allow extensions function - that's implementation dependent. SPARQL 确实允许扩展 function - 这取决于实现。 They should be functions (no side effects) but of course it depends on the implementation.它们应该是函数(没有副作用),但当然这取决于实现。

A SPARQL Query implementation may read external data with FROM/FROM NAMED. SPARQL 查询实现可以使用 FROM/FROM NAMED 读取外部数据。 Most implementations don't;大多数实现都没有; they take the graphs from the local dataset.他们从本地数据集中获取图表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM