我正在查看我的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过滤的东西
答案 0 :(得分:6)
在查询字符串中,加号字符是空格的简写符号。请记住,URL中不允许使用空格,因此它们必须是百分比编码(%20
)或仅在URL 的查询字符串部分中,用加号表示。 (因此,这意味着实际的加号必须在查询字符串中进行百分比编码,但不能在URL的其他位置编码。)
在这种情况下,攻击者正在尝试简单SQL injection。 '
是引用('
),+
URL解码为空格。所以最终会发生这种情况:
phpbb_root_path=1' --
(--
是SQL注释。)
小心禁止在网址中使用+--+
的请求;这可能是合法的输入 - 即https://www.google.com/search?q=dash+--+separated