5

我正在查看我的 apache 服务器日志,几乎总是当有人扫描服务器以查找漏洞时,我总是在他们的查询字符串中看到这一点......

+--+

就像在下面的各种例子中......

.
.
.
/includes/usercp_register.php?phpbb_root_path=1'+--+?
/includes/profilcp_constants.php?module_root_path=1'+--+?
/includes/functions_user_viewed_posts.php?phpbb_root_path=1'+--+?
/includes/orderSuccess.inc.php?&glob=1&cart_order_id=1&glob[rootDir]=1'+--+
.
.
.

我知道他们正在扫描流行的漏洞,但我想知道 +--+ 的目的是什么?

我正在考虑使用它作为我可以过滤使用fail2ban的东西

4

1 回答 1

6

在查询字符串中,加号字符是空格的简写符号。请记住,URL 中不允许使用空格,因此它们必须是百分比编码 ( %20),或者仅在 URL 的查询字符串部分中,用加号表示。(因此,这意味着实际的加号必须在查询字符串中进行百分比编码,而不是在 URL 的其他位置。)

在这种情况下,攻击者正在尝试简单的SQL 注入。是'引号 ( '),并且+URL 解码为空格。所以最终会发生这种情况:

phpbb_root_path=1' -- 

(这--是一条 SQL 注释。)

小心+--+在 URL 中禁止请求;这可能是合法的输入 - 即https://www.google.com/search?q=dash+--+separated

于 2013-06-06T18:45:41.910 回答