Полиглот-пэйлоады — это способ проверить несколько вариантов одной уязвимости одним запросом. Полезно на этапе ресерча: экономит время и быстро дает сигнал, есть ли вообще точка инъекции.
Суть простая: вместо отдельных запросов без кавычек, с одинарными и двойными кавычками, используем один пэйлоад, который «выживает» во всех контекстах.
➡️ Минимальный пример, известный ещё с Ruxcon
AND 1=0 --' AND 1=0 --" AND 1=0 --
➡️ Другой пример с BlackHat
OR 1#"OR"'OR''='"="'OR''='
➡️ MariaDB/MySQL: всего 6 байт
'='"="
➡️ SQLite
'<>'"<>"
Двойные кавычки в SQLite можно использовать как для строковых литералов, так и для идентификаторов, в отличие от MariaDB/MySQL, которая всегда обрабатывает их как строковые литералы.
➡️ MariaDB/MySQL + SQLite
Для полиглота, работающего с одинарными и двойными кавычками как в SQLite, так и в MariaDB/MySQL, можно использовать следующий код:
'OR'1"OR"1
Для того чтобы полиглот работал и без кавычек, используется оператор
+ для исправления синтаксических ошибок, а затем добавляется =0 для получения истинного результата.'OR'+1+"OR"+1=0


