Перевод: Как найти уязвимости для атак SQL Injection в 2022 году?

Перевод: Как найти уязвимости для атак SQL Injection в 2022 году?

@Ent_TranslateIB

SQL Injection (также известная как инъекция на языке структурированных запросов) - одна из самых популярных и серьезных уязвимостей.

Это одна из самых распространенных и опасных уязвимостей в Интернете.

Она представляет собой вредоносный код, который может быть использован для обхода функций безопасности операционных систем.

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

Плохо то, что SQL Injection трудно обнаружить и остановить в момент его эксплуатации.

Обнаруженная уязвимость SQL Injection может быть ужасающей, поскольку она позволяет злоумышленнику получить прямой доступ к основным данным на вашем сайте и потенциально скомпрометировать их.

В этой статье я расскажу вам, что такое SQL-инъекция и как ее обнаружить.

Что такое SQL-инъекция?

Эта атака заключается во вставке или "инъекции" SQL-запроса через входные данные от клиента к приложению.

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

Это могут быть данные, принадлежащие другим пользователям, или любые другие данные, доступ к которым имеет само приложение.

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

Основные команды SQL

  • Команда Select - это вводный оператор, поскольку он будет использоваться при взаимодействии с другими командами. Это основной оператор в SQL.
  • Команда Where - Это также базовый оператор в SQL. Пример- SELECT name, age FROM Class_details WHERE age < 10 Теперь из этой команды вы получите данные из столбцов name и age. Но будут получены только те данные, чей возраст меньше 10 лет.
  • Команда Order - используется для сортировки результатов в порядке возрастания или убывания. Для сортировки по возрастанию используйте ASC, а для сортировки по убыванию - DESC.

Как проверить на наличие SQL-инъекции

Пример 1:

Рассмотрим запрос SELECT * FROM Table WHERE id='1';

Здесь запрос хочет сказать, что он хочет выбрать все данные из таблицы с идентификатором 1.

Теперь давайте разберемся, что мы хотим сделать для проверки на SQL Injection.

  • если мы используем ', то будет false, а если используем '', то будет true
  • если мы используем ", то это будет false, а если мы используем "", то это будет true
  • если мы используем \, то это будет false, а если мы используем \\\\, то это будет true.

Я знаю, что вы немного запутались в понятиях true и false, но сейчас вы всё поймёте.

Итак, в качестве тестирования для сайта мы будем видеть только id, а возможно и все остальное, поэтому мы будем использовать следующее.

Допустим, URL имеет вид

www.website.com?id=1

и для этого запрос будет SELECT * FROM Table WHERE id='1';

Так что мы проверим это следующим образом

www.website.com?id=1'

или

www.website.com?id=1"

или

www.website.com?id=1\

поэтому они будут выглядеть следующим образом

SELECT * FROM Table WHERE id='1'';

SELECT * FROM Table WHERE id=’1'”;

SELECT * FROM Table WHERE id='1'\;

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

SELECT * FROM Table WHERE id=’1'’’;

или вы можете использовать

SELECT * FROM Table WHERE id=’1'’’’’’’’’’’’UNION SELECT ‘2’;

это вернет данные с идентификатором 2.

Для примера 2 посетите www.cyberhacks200.org.

Некоторые советы по поиску SQL-инъекций

  1. Использование SQL map
    sqlmap -u "http://website.com" - header="X-Forwarded-For: 1*" - dbs - batch - random-agent - threads=10 Injection marker: *
    путем инъекции заголовка
  2. Time-based sqli
    '%2b(select*from(select(sleep(20))))a)%2b'

Для получения дополнительных советов посетите www.cyberhacks200.org.

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

Для написания своей собственной статьи для cyberhacks200.org вы можете связаться со мной.

Встретимся в другой статье.

До встречи

Берегите себя и счастливого взлома

Оригинал статьи - здесь.
Поддержите автора хлопками на Medium.


Перевод статьи был выполнен проектом перевод энтузиаста:

  • 📚 @Ent_TranslateIB - Телеграмм канал с тематикой информационной безопасности
  • 🔥 @Ent_Translate - Инстаграм проекта

Report Page