最近,我遇到了一个SQL注入备忘单,其中包含我对' or 1=1/*
感到困惑的特定备忘单。
假设我正在下面的此服务器端代码上对其进行测试。
SELECT * FROM users WHERE login='$login' AND password='$password';
好吧,我似乎无法通过备忘单绕过它。我只是很好奇,为什么他们将它包括在备忘单中呢?该特定备忘单如何使用?
我正在猜测并使用我的逻辑,只有这种作弊表用法是程序员错误地将结束注释标记 * / 放置在SQL查询后,如服务器所示,下面的辅助代码。
SELECT * FROM users WHERE login='' or 1=1/*' AND password='$password' */;
请随时说明用法,也可以验证我自己对此特殊备忘单的用法的理解。