【发布时间】:2016-08-07 18:37:32
【问题描述】:
以下示例来自 sqli-lab。在 MySQL 的 doc(comment) 中,“--”(双破折号后跟至少一个空格)表示一行的注释。它确实在某些情况下有效。
我的问题是它在此处的示例中是如何工作的,为什么它可以列出“用户”表的所有记录。你能给出一些关于它的机制的想法吗?谢谢!
mysql> select username, password from users where username = '' --+ '';
+----------+------------+
| username | password |
+----------+------------+
| Dumb | Dumb |
| Angelina | I-kill-you |
| Dummy | p@ssword |
| secure | crappy |
| stupid | stupidity |
| superman | genious |
| batman | mob!le |
| admin | admin |
| admin1 | admin1 |
| admin2 | admin2 |
| admin3 | admin3 |
| dhakkan | dumbo |
| admin4 | admin4 |
+----------+------------+
【问题讨论】:
-
“它在某些情况下确实有效。”你能澄清一下吗?这在哪里不起作用,什么时候不起作用?
-
@FrankerZ 真的很清楚,如果您尝试 .. --+ 返回所有行 .. (似乎是一种奇怪的行为)但 --+ 不是评论序列
-
我已经发布了对您问题的可能解释