SQLi 运行错误的查询

SQLi runs the wrong query

我制作了一个易受 SQLi 攻击的网站。 但是当我 运行 一个带有 SQLi '-- 的 GET 请求时,我得到了错误的查询输出。有人可以帮我解决这个问题吗?

这是我的SQL我

这就是 SQL 运行 查询的方式。

SQL 查询假设不同。它应该是:SELECT * FROM product WHERE id LIKE '%' 应该从 product table.

输出所有数据

代码片段

这是正确的,并且在给定输入的情况下,它完全按照您的指示进行操作。

GET 请求值是 '-- 并替换 SQL 查询字符串中的变量 $test。但它不会删除 SQL 查询字符串中的 $test 变量之后的内容。

让我用一些颜色编码向您展示:

SELECT * FROM product WHERE id LIKE '%$test%'

SELECT * FROM product WHERE id LIKE '%'--%'

字符 -- 构成 SQL 注释的开头,因此在您的 SQL 注入发生后,后面的任何内容都会被忽略。查询的唯一功能部分是:

SELECT * FROM product WHERE id LIKE '%'