В этой статье читатели ближе познакомятся с инъекциями SQL и NoSQL. Они узнают особенности их работы, достоинства и недостатки. Также будет приведен список инструментов, которые помогут усилить защиту любого веб-сайта.
SQLi (SQL Injection) — это старая практика, при которой хакер выполняет вредоносные SQL-выражения, чтобы получить доступ к веб-сайту. Эта атака с высокой степенью опасности. Последний отчет Acunetix говорит о том, что 8% сканируемых систем были уязвимы для нее.
Поскольку база данных 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.
SQLMap поможет протестировать сервис на все 6 методов инъекции.
2. Тест на уязвимость SQL-инъекции онлайн
Еще один онлайн-инструмент Hacker Target на основе SQLMap для поиска уязвимости bind & error против GET-запроса HTTP.
3. Netsparker
Netsparker готов просканировать уровень веб-безопасности предприятий: он делает даже больше, чем просто тест на уязвимость SQL. Человек также может интегрировать приложения для автоматизации веб-безопасности.
Пользователь может проверить индекс уязвимости сайта, который прошел сканирование от Netsparker.
4. Vega
Vega – это сканер безопасности с открытым исходным кодом, который может быть установлен на Linux, OS X и Windows.
Vega написан на Java, он имеет графический интерфейс.
Не только SQLi: Vega можно использовать для тестирования на многие другие типы уязвимостей, такие как:
- Инъекция XML/Shell/URL;
- Directory listing;
- Remote file includes;
- XSS.
Vega выглядит многообещающим бесплатным сканером безопасности сети.
5. SQLMap
SQLMap – это один из популярных инструментов тестирования с открытым исходным кодом на выполнение SQL-инъекций в системе управления реляционными базами данных.
Sqlmap проводит перечисление пользователей, паролей, хэшей, баз данных и поддерживает полный дамп таблиц базы данных.
Если пользователь использует Kali Linux, то он может применить SQLMap, не устанавливая его дополнительно.
6. SQL Injection Scanner
Онлайн сканер для проведения пентестинга, который использует OWASP ZAP. Есть две версии – упрощенная (бесплатная) и полная (нужно зарегистрироваться).
7. Appspider
Appspider, разработанный Rapid7, — это динамическое решение для тестирования безопасности приложений на обход защиты и более чем 95 типов атак.
Уникальная функция Appspider под названием «vulnerability validator» позволяет разработчику воспроизвести уязвимость в режиме реального времени.
Это очень удобно, когда администратор исправил уязвимость и хочет повторно протестировать ресурс, чтобы точно убедиться, что риска для системы больше нет.
8. Acunetix
Acunetix – это готовый к работе сканер уязвимостей веб-приложений, которому доверяют более 4000 компаний по всему миру. Не только сканирование SQLi: инструмент способен найти более 6000 других уязвимостей.
Каждая находка классифицируется, и показываются потенциальные корректировки системы безопасности: поэтому пользователь всегда знает, что нужно сделать, чтобы исправить ситуацию к лучшему. Кроме того, человек может интегрироваться с системой 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.
Он ищет возможность проведения атак 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 codingo@protonmail.com |_|
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.
Какой бы инструмент пользователь не использовал для проверки безопасности баз данных NoSQL, не стоит забывать об ответственности за свои действия. Нужно убедиться, что человек работает со своим собственным экземпляром базы данных или авторизован для проведения теста.
Автор переведенной статьи: Chandan Kumar.
ЧИТАТЬ ВСЕ СТАТЬИ НА САЙТЕ | ПОДПИСЫВАЙТЕСЬ НА НАШ TELEGRAM КАНАЛ