我的一个朋友构建了一个 Web 应用程序,我正在测试它以获得乐趣。我注意到他允许用户设置某个查询的限制,并且该限制没有被清理。
例如,我可以选择任何我喜欢的数字或字符串作为限制。我意识到这是SQL 注入,我可以很容易地注入 SQL 命令,但是真的有可能提取任何数据或对 a 造成任何损害LIMIT
吗?
查询示例:
SELECT * FROM messages WHERE unread = 1 LIMIT **USER INPUT HERE**
我知道如果注入在WHERE
子句中,我可以轻松地UNION SELECT
提取任何信息,但如果用户输入超出限制,这真的可能吗?
有关更多信息,我的朋友正在使用MySQL DBMS,因此您无法真正执行两个查询,例如:
SELECT * FROM messages WHERE unread = 1 LIMIT 10;DROP TABLE messages--
这不可能。