Существует множество способов затруднить обнаружение полезной нагрузки SQL-инъекции. В статье покажу, как это можно сделать с помощью шестнадцатеричного кодирования.
Еще по теме: Обфускация PowerShell
Простой пример обфускации SQL-инъекции
1 |
SELECT%20*%20FROM%20users%20WHERE%20username='%2527%20OR%201=1%20--%2527 |
Эта нагрузка может быть использована для обхода формы входа, внедрив строку » OR 1=1 —» в запрос. Нагрузка обфусцируется с использованием шестнадцатеричной кодировки символов. После декодирования нагрузка будет выглядеть так:
1 |
SELECT * FROM users WHERE username=' OR 1-1 --' |
Эта нагрузка вернет все строки из таблицы users, так как условие 1=1 всегда истинно. -- в конце нагрузки используется для комментирования оставшейся части запроса, таким образом, любые дополнительные условия в исходном запросе будут проигнорированы.
Важно отметить, что эта нагрузка является всего лишь примером и может не сработать во всех случаях, так как фактическая структура и синтаксис запроса могут варьироваться в зависимости от приложения.
Кроме того, данная полезная нагрузка может быть использована для извлечения конфиденциальных данных из целевой системы, поэтому она должна использоваться только с разрешением.
ПОЛЕЗНЫЕ ССЫЛКИ: