👁🗨Hello world~
SQL-инъекции, начало: хакеры в вашей базе данных
• Что такое SQL?
• Если вдруг кто не знает, SQL - это язык структурных запросов, который имеет дело с базами данных, SQL генерирует некоторые запросы на серверной части сервера и выполняет обработку данных из базы данных, используя этот запрос.
• Что такое SQL-инъекции?
• SQL-инъекция - это уязвимость, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей базе данных. Она позволяет злоумышленнику просматривать, изменять или удалять данные. Сейчас большая часть сайтов защищена от этой уязвимости, но знать ее все равно нужно.
• Пример SQL-инъекции.
• Представьте сайт с поисковой строкой, вводя туда данные, вас перекидывает на url типа: https://example.com/search?q=[запрос], при этом если данные хранятся в SQL, то запрос внутри будет выглядеть по типу:
SELECT * FROM products WHERE stuff = '[запрос]'
• Этот SQL-запрос просит базу данных вернуть:
• Все данные (*) из таблицы продуктов где stuff - "[запрос]".
• Если в приложении не реализована защита от атак SQL-инъекций, злоумышленник может построить атаку по типу:
https://example.com/search?q=[Запрос]'+OR+1=1--..
• В результате получится SQL-запрос:
SELECT * FROM products WHERE stuff = '[Запрос]' OR 1=1--' AND released = 1
• Модифицированный запрос вернет все товары, где либо stuff - [Запрос], либо 1 равна 1. Поскольку 1=1 всегда истинно, запрос вернет все товары, а два минуса в SQL расцениваются как комментарий, то есть, если дальше были дополнительные проверки, они будут проигнорированы.
• Эта уязвимость позволяет обходить проверки, просматривать таблицы и отправлять произвольные SQL запросы на сервер.
• В будущих постах рассмотрим автоматизацию поиска SQL-инъекций с помощью sqlmap и других инструментов. Удачи!
Post #146
3.59K

- ❤ 15
- 👍 5
- 🔥 3