引号内的查询可以归类为SQL注入吗?

时间:2019-01-15 13:55:14

标签: sql-injection

我正在一个项目中,在该项目中,我使用sqlmap等一些工具进行攻击,使用了一些应用程序,并将对数据库的查询记录下来。
我曾使用sqlmap攻击一个应用程序,但尽管我知道这些查询来自sqlmap,所以它们应该是攻击者,但我不确定它们是否可以工作。

这是此类查询的示例。

SELECT * FROM products WHERE id = '1842-1841';",,,,,,,,,""
SELECT * FROM products WHERE id = '1.1jUVb';",,,,,,,,,""
SELECT * FROM products WHERE id = '1) AND 8368=8230 AND (9937=9937';",,,,,,,,,""
SELECT * FROM products WHERE id = '1) AND 9401=9401 AND (9316=9316';",,,,,,,,,""
SELECT * FROM products WHERE id = '1 AND 6958=6015';",,,,,,,,,""
SELECT * FROM products WHERE id = '1 AND 9401=9401';",,,,,,,,,""
SELECT * FROM products WHERE id = '1 AND 3154=1482-- mJGo';",,,,,,,,,""
SELECT * FROM products WHERE id = '1 AND 9401=9401-- GxcI';",,,,,,,,,""

如您所见,注入的部分在单引号内。这是否意味着数据库将始终将其视为字符串?如果是,这是否表示逻辑与将永远不会正确解释,因此无论如何,此查询不会会成功?

在某些情况下,以上是实际的工作攻击吗?
这让我感到困扰,因为Sqlmap尝试了这些查询,我想它们实际上可以在某些情况下工作,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

我认为它们仅在引号内,因为您的应用程序将它们放在引号中。

想象下面的代码

$sql = 'select * from passwords where PIN ='.$pin

正在注入1 AND 9401=9401

给您

$sql = 'select * from passwords where PIN = 1 and 9401=9401'