Можно ли классифицировать запрос в кавычках как SQL-инъекцию? - PullRequest
0 голосов
/ 15 января 2019

Я работаю над проектом, в котором я атакую ​​несколькими инструментами, такими как 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 голосов
/ 15 января 2019

Я думаю, что они только в кавычках, потому что ваше приложение помещает их в кавычки.

Представьте себе следующий код

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

Инъекция 1 AND 9401=9401

дает вам

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