SQL и NoSQL инъекции: подробный разбор и анализ

Дата: 08.10.2020. Автор: Игорь Б. Категории: Главное по информационной безопасности, Статьи по информационной безопасности
SQL и NoSQL инъекции: подробный разбор и анализ

В этой статье читатели ближе познакомятся с инъекциями SQL и NoSQL. Они узнают особенности их работы, достоинства и недостатки. Также будет приведен список инструментов, которые помогут усилить защиту любого веб-сайта.

SQLi (SQL Injection) — это старая практика, при которой хакер выполняет вредоносные SQL-выражения, чтобы получить доступ к веб-сайту. Эта атака с высокой степенью опасности. Последний отчет Acunetix говорит о том, что 8% сканируемых систем были уязвимы для нее.

SQL и NoSQL инъекции: подробный разбор и анализ

Поскольку база данных SQL (Structured Query Language) поддерживается многими веб-платформами (PHP, WordPress, Joomla, Java), она подходит для атак большого количества веб-сайтов. Таким образом, читатели уже понимают, что очень важно убедиться в том, что их бизнес-сайт в Интернете не уязвим для SQLi.

Примечание: выполнение SQL-инъекции генерирует высокую пропускную способность сети для отправления огромного количества данных. Итак, стоит убедиться, что пользователь является владельцем веб-сайта, который собирается проверить.

1.     suIP.biz

Обнаружение уязвимости для SQL-инъекций в режиме онлайн с помощью sup.biz и поддержка баз данных MySQL, Oracle, PostgreSQL, Microsoft SQL, IBM DB2, Firebird, Sybase.

SQL и NoSQL инъекции: подробный разбор и анализ

SQLMap поможет протестировать сервис на все 6 методов инъекции.

2.     Тест на уязвимость SQL-инъекции онлайн

Еще один онлайн-инструмент Hacker Target на основе SQLMap для поиска уязвимости bind & error против GET-запроса HTTP.

SQL и NoSQL инъекции: подробный разбор и анализ

3.     Netsparker

Netsparker готов просканировать уровень веб-безопасности предприятий: он делает даже больше, чем просто тест на уязвимость SQL. Человек также может интегрировать приложения для автоматизации веб-безопасности.

SQL и NoSQL инъекции: подробный разбор и анализ

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

4.     Vega

Vega – это сканер безопасности с открытым исходным кодом, который может быть установлен на Linux, OS X и Windows.

SQL и NoSQL инъекции: подробный разбор и анализ

Vega написан на Java, он имеет графический интерфейс.

Не только SQLi: Vega можно использовать для тестирования на многие другие типы уязвимостей, такие как:

  • Инъекция XML/Shell/URL;
  • Directory listing;
  • Remote file includes;
  • XSS.

Vega выглядит многообещающим бесплатным сканером безопасности сети.

5.     SQLMap

SQLMap – это один из популярных инструментов тестирования с открытым исходным кодом на выполнение SQL-инъекций в системе управления реляционными базами данных.

SQL и NoSQL инъекции: подробный разбор и анализ

Sqlmap проводит перечисление пользователей, паролей, хэшей, баз данных и поддерживает полный дамп таблиц базы данных.

Если пользователь использует Kali Linux, то он может применить SQLMap, не устанавливая его дополнительно.

6.     SQL Injection Scanner

Онлайн сканер для проведения пентестинга, который использует OWASP ZAP. Есть две версии – упрощенная (бесплатная) и полная (нужно зарегистрироваться).

SQL и NoSQL инъекции: подробный разбор и анализ

7.     Appspider

Appspider, разработанный Rapid7, — это динамическое решение для тестирования безопасности приложений на обход защиты и более чем 95 типов атак.

SQL и NoSQL инъекции: подробный разбор и анализ

Уникальная функция Appspider под названием «vulnerability validator» позволяет разработчику воспроизвести уязвимость в режиме реального времени.

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

8.     Acunetix

Acunetix – это готовый к работе сканер уязвимостей веб-приложений, которому доверяют более 4000 компаний по всему миру. Не только сканирование SQLi: инструмент способен найти более 6000 других уязвимостей.

SQL и NoSQL инъекции: подробный разбор и анализ

Каждая находка классифицируется, и показываются потенциальные корректировки системы безопасности: поэтому пользователь всегда знает, что нужно сделать, чтобы исправить ситуацию к лучшему. Кроме того, человек может интегрироваться с системой CI/CD и SDLC, поэтому каждый риск безопасности идентифицируется и фиксируется до того, как приложение будет развернуто.

9.     Wapiti

Wapiti – это сканер уязвимостей на основе Рython. Он поддерживает большое количество инструментов для обнаружения следующих атак:

  • Sql и XPath;
  • CRLS и XSS;
  • Shellshock;
  • File disclosure;
  • Server-side request forgery;
  • Command execution.

Он поддерживает конечную точку HTTP/HTTPS, несколько типов аутентификации, такие как Basic, Digest, NTLM и Kerberos. У пользователя есть возможность создавать отчеты о сканировании в формате HTML, XML, JSON и TXT.

10. Scant3r

Scant3r – это «легкий сканер», основанный на Python.

SQL и NoSQL инъекции: подробный разбор и анализ

Он ищет возможность проведения атак XSS, SQLi, RCE, SSTI в заголовках и параметрах URL-адресов.

Дополнительная информация

Вышеперечисленные инструменты проверят систему безопасности и сообщат, есть ли на сайте уязвимость для SQL-инъекции. Если пользователь до сих пор задается вопросом, как защитить свой сайт от SQL-инъекций, то ему может помочь информация ниже.

Плохо закодированное веб-приложение часто ответственно за уязвимость к SQL-инъекции, поэтому нужно исправить неправильный код. Однако еще одна вещь, которую можно сделать, — это реализовать WAF (межсетевой экран веб-приложения).

Существует два возможных способа интеграции WAF с приложением:

  • Интеграция WAF в веб-сервер: пользователь может использовать WAF, как ModSecurity с Nginx, Apache или WebKnight с IIS. Это возможно, если человек размещает свой сайт самостоятельно, например, в Cloud/VPS. Однако если пользователь пользуется общим хостингом, то этот вариант не подходит.
  • Использование облачного WAF: вероятно, самый простой способ усилить защиту сайта — это реализовать межсетевой экран сайта. Хорошо то, что этот метод подходит для любого ресурса, и облако можно запустить в работу уже через 10 минут.

Если читателям интересно узнать больше о SQL-инъекциях, они могут перейти по следующим ссылкам:

NoSQL

NoSQL не является чем-то новым; она был впервые представлена в 1998 году Carlo Strozzi. Но в последнее время NoSQL приобрела популярность при ее использовании в современных приложениях. А почему бы и нет. Она быстрая и решает некоторые традиционные проблемы с реляционными базами данных. Существуют различия между SQL и NoSQL.

Если пользователь использует базу данных NoSQL, такую как MongoDB, и не уверен, что она достаточно хороша (не находит все уязвимости, не видит неправильную конфигурацию), инструменты, представленные ниже, помогут ему исправить эту ситуацию.

NoSQL Map

NoSQLMap — это утилита с открытым исходным кодом, основанная на Python. Она способна проводить аудит для поиска неправильной конфигурации и автоматизации инъекционных атак. На данный момент инструмент поддерживает следующие базы данных:

  • MongoDB
  • CouchDB
  • Redis
  • Cassandra

Для установки NoSQLMap понадобится Python, который можно установить ниже с помощью специальной команды на Ubuntu:

apt-get install python
apt-get install python-setuptools

После установки Python следует выполнить следующие действия для установки NoSQL MAP:

git clone https://github.com/codingo/NoSQLMap.git
python setup.py install

Как только это будет сделано, пользователь может открыть ./nosqlmap.py из клонированного каталога GIT, как показано ниже:

_  _     ___  ___  _    __  __
| \| |___/ __|/ _ \| |  |  \/  |__ _ _ __
| .` / _ \__ \ (_) | |__| |\/| / _` | '_ \
|_|\_\___/___/\__\_\____|_|  |_\__,_| .__/
 v0.7 [email protected]        |_|


1-Set options
2-NoSQL DB Access Attacks
3-NoSQL Web App attacks
4-Scan for Anonymous MongoDB Access
5-Change Platform (Current: MongoDB)
x-Exit
Select an option:

Нужно выбрать цель перед тестированием. Для этого надо ознакомиться с приведенным ниже демо-туториалом.

Mongoaudit

Как можно догадаться по названию, инструмент подходит для MongoDB. Mongoaudit хорош для выполнения пентестинга, чтобы найти ошибку, определить неправильную конфигурацию или потенциальные риски. Он работает вместе со многими практиками, включая такие как:

  • На порту по умолчанию включен интерфейс HTTP;
  • Защита с помощью протокола TLS;
  • Метод аутентификации;
  • Операции CRUD.

Установка Mongoaudit очень проста. Пользователь может использовать следующую команду:

pip install mongoaudit

После установки следует выполнить команду mongoaudit для запуска сканирования. Человеку будет предложено выбрать уровень сканирования и ввести данные о листенере MongoDB.

SQL и NoSQL инъекции: подробный разбор и анализ

Какой бы инструмент пользователь не использовал для проверки безопасности баз данных NoSQL, не стоит забывать об ответственности за свои действия. Нужно убедиться, что человек работает со своим собственным экземпляром базы данных или авторизован для проведения теста.

Автор переведенной статьи: Chandan Kumar.

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *