Обход проверки формата SQL-инъекции - PullRequest
0 голосов
/ 14 декабря 2018

Я делаю тест SQL-инъекции, где значение формы непосредственно вставляется в таблицу, но у него есть проверка формата GUID для значения формы, например:

"Guid должен содержать 32 цифры с 4тире (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). "

Существуют ли какие-либо атаки, которые могут это обойти?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы должны просто использовать параметризованные запросы.

Псевдокод:

sql = "SELECT ... FROM MyTable WHERE guid = ?"
prepare(sql)
execute(guid_value)

Тогда вам не придется тратить время на размышления о том, есть ли неясный случай, который может обойти вашу проверку.

0 голосов
/ 14 декабря 2018

Если приложение выполнит РЕАЛЬНУЮ проверку на сервере с [ GUID Parse ], у вас не будет решения.

...