SQL 错误消息

原文:https://www.geeksforgeeks.org/sql-error-messages/

先决条件–SQL 注入 在检查 SQL 注入时,我们都发现了各种错误消息。让我们找出每个错误背后的基本原因,以及它在 MySQL 中是如何出现的。以下是各种错误及其解释。

错误-1: 您的 SQL 语法有错误。查看与您的 MySQL 服务器版本相对应的手册,了解在第 x 行“foo”附近使用的正确语法

解释– 如果您输入了单引号,并且它改变了数据库查询的语法,这是预期的错误消息。对于 MySQL,可能会出现 SQL 注入,但在其他上下文中也会出现相同的错误消息。

错误-2: 不适用

解释– 您已经注释掉或移除了通常会提供给数据库的变量。

错误-3: 使用的 SELECT 语句列数不同。

解释– 当您尝试 UNION SELECT 攻击时,您会看到这一点,并且您指定的列数与原始 SELECT 语句中的列数不同。

错误-4: 您的 SQL 语法有错误。查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“YYY 某某”附近使用的正确语法

解释– 当您的注入点出现在 FROM 关键字之前(例如,您已经注入到要返回的列中)并且您已经使用注释字符删除了所需的 SQL 关键字时,通常会看到此错误消息。请尝试在使用注释字符的同时自己完成 SQL 语句。遇到这种情况时,MySQL 应该会有助于显示列名 XXX,YYY。

错误-5: 表‘DBNAME’。有时候是不存在的。

解释– 要么您试图访问不存在的表或视图。根据您知道可以访问的表测试您的查询。遇到这种情况时,MySQL 应该有助于揭示当前的数据库模式 DBNAME。

错误-6: 您的 SQL 语法有错误。查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“”附近使用的正确语法。

解释– 你可能在修改 WHERE 子句中的某个内容,而你的 SQL 注入尝试破坏了语法。

错误-7: 您的 SQL 语法有错误。查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行附近使用的正确语法。

解释– 你的 SQL 注入尝试成功了,但注射点在括号内。您可能用插入的注释字符(–)注释掉了右括号。

错误-8: 您的 SQL 语法有错误。查看与您的 MySQL 服务器版本相对应的手册,了解在 XXXXX 附近使用的正确语法。

解释– 一般错误信息。前面列出的错误消息都优先,所以出现了其他问题。很可能你可以尝试替代输入,得到一个更有意义的信息。