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

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

В этой статье читатели ближе познакомятся с инъекциями 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-инъекциях, они могут перейти по следующим ссылкам:

  • Cheatsheet;
  • Основы.

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.

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

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

Кибербезопасность: Как защититься от SQL-инъекции

В настоящее время насчитывается около 200 миллионов активных веб-сайтов, и очень немногие из них состоят исключительно из статических HTML-страниц, которые были так распространены в первые годы Интернета. Большинство современных сайтов обрабатывают большое количество конфиденциальных данных с помощью сложных веб-приложений и баз данных.

Тем не менее, мы уверены, что не ошибемся, если скажем, что многие владельцы веб-сайтов не полностью осведомлены о том, что такое SQL-инъекция (или SQLi).

Цель сегодняшнего руководства — исправить это.


Содержание

Состояние кибербезопасности

Современный ландшафт кибербезопасности — довольно сложное место. Масштабы атак на веб-сайты шире, чем когда-либо, и теперь более 60% населения мира подключено к Интернету, как и количество целей.

Как владелец веб-сайта, вашим приоритетом номер один должна быть безопасность вашего веб-приложения. Возможно, вы захотите услышать, что говорит организация под названием OWASP. OWASP расшифровывается как Open Web Application Security Project и представляет собой онлайн-сообщество добровольцев и экспертов, которые специализируются на оказании помощи администраторам веб-сайтов в обеспечении надежной защиты своих проектов.

Ежегодно эксперты OWASP оценивают наиболее распространенные угрозы, на которые следует обратить внимание администраторам, и довольно долгое время инъекции кода занимают первое место в этом списке.

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

SQLi, конечно, не является угрозой, которую следует недооценивать, но что делает его таким уникальным?

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

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

Однако за кулисами происходит гораздо больше.

На основе ввода пользователя веб-приложение выполняет запросы к базе данных для доступа к нужным ресурсам и отображения правильного содержимого.  Например, после того, как вы введете свои учетные данные и нажмете « Войти», веб-приложение берет ваше имя пользователя и пароль и запрашивает базу данных, чтобы убедиться, что они верны. Если это так — вы можете войти в свой профиль.

SQL (сокращение от Structured Query Language ) — это язык программирования, который облегчает такое общение. Веб-приложение использует его для генерации запросов к базе данных на основе ввода данных пользователем.

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

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

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

Как работают SQL-инъекции?

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

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

К сожалению, отсутствие стандартизации и плохое управление исправлениями означают, что уязвимые веб-сайты SQLi все еще существуют. Современные сканеры уязвимостей могут быстро их идентифицировать.

Запросы, которые будут обрабатывать злоумышленники, зависят от типа базы данных и системы управления базой данных. Следующим шагом будет разведка цели.

Наконец, запускается собственно инъекция. Некоторые атаки SQLi полагаются на изменения в определенных HTTP-запросах, в то время как в других случаях злоумышленники используют веб-формы (например, страницы входа или панели поиска) для изменения запросов SQL.

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

Обычно, когда администратор входит в систему, SQL-запрос, генерируемый формой входа, выглядит следующим образом:

ВЫБЕРИТЕ * ИЗ участников, ГДЕ имя пользователя = ‘admin’ И пароль = ‘[пароль администратора]’

Если злоумышленник введет « admin’– » в поле имени пользователя и оставит поле пароля пустым, запрос будет выглядеть так:

ВЫБЕРИТЕ * ИЗ участников, ГДЕ username = ‘admin ‘ — ‘AND password = »

«- помещаются сразу после Админ аннулируют остальную часть запроса, то есть база данных не будет проверять, есть ли что-нибудь в поле пароля на всех.

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

Типы SQL-инъекций

В зависимости от результатов, которые они дают, вы можете выделить несколько различных типов SQL-инъекций:

  • SQL-инъекции с проверкой базы данных — часто это первый шаг в списке дел злоумышленников после того, как они идентифицируют жизнеспособную цель. Они используют созданный SQL-запрос для получения информации о базе данных, которая помогает им на следующих этапах атаки.
  • SQL-инъекции с получением скрытых данных — этот тип инъекций раскрывает информацию, которая в противном случае была бы недоступна для злоумышленника. Например, одна модификация HTTP-запроса может отображать товары, не указанные в списке, на сайте электронной коммерции, уязвимом для SQLi.
  • Атаки SQLi UNION — оператор UNION SQL можно использовать для объединения нескольких запросов SQL в одном операторе.
     В результате, изменяя SQL-запрос, злоумышленники могут заставить веб-приложение извлекать данные из частей базы данных, которые обычно остаются недоступными. Это может включать учетные данные для входа.
  • SQL-инъекции, подрывающие логику приложения. Возможность вмешательства в логику веб-приложения открывает двери для различных видов преступной деятельности. Техника обхода пароля, которую мы описали в предыдущем разделе, является примером этого типа атаки.
  • Слепые SQL-инъекции. Слепые SQL-инъекции намного сложнее, потому что результаты SQL-запроса не видны в ответе базы данных. Однако злоумышленники с продвинутыми техническими навыками могут использовать эти атаки, чтобы инициировать внешнее сетевое взаимодействие и облегчить быструю кражу данных.

Что делать, чтобы предотвратить атаку с использованием SQL-инъекции?

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

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

Для разных проектов требуются разные методы профилактики.

Например, администраторам, использующим системы управления контентом (CMS) для создания своих веб-сайтов, не нужно вручную внедрять определенные меры защиты от SQLi. Разработчики CMS должны обеспечить своевременное исправление уязвимостей. Единственное, о чем нужно думать владельцам веб-сайтов, — это применять все обновления сразу после их выпуска.

Работа администраторов сайтов с индивидуальным кодом немного сложнее. Нет перечня обязательных мер, которые полностью устраняют угрозу. Точные действия, необходимые для исправления уязвимости, зависят от таких вещей, как 

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

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

  • Регулярно проводите аудит безопасности — сканеры уязвимостей могут относительно легко обнаруживать потенциальные дыры SQLi на вашем сайте, и у вас нет оправдания тому, что вы их не используете. Чем чаще сканирование выполняется, тем выше шансы найти и исправить уязвимости SQLi, пока не стало слишком поздно.
  • Убедитесь, что вы готовы к угрозе. Если вы большая организация, обслуживающая большой веб-сайт, каждый, от специалиста по обеспечению качества до руководителя разработки, должен знать об опасностях, которые представляют собой инъекции SQL. Регулярное информирование ваших сотрудников о новых потенциальных атаках также является ключом к тому, чтобы они принимали надлежащие меры.
  • Очистите все входные данные — никогда не используйте какие-либо входные данные напрямую, независимо от того, исходят ли они от аутентифицированного или общедоступного пользователя.
     В вашем веб-приложении также должны быть механизмы, которые очищают запросы и удаляют элементы потенциально вредоносного кода.
  • Используйте проверенные и проверенные механизмы. Существуют специфичные для языка механизмы защиты приложений от SQL-инъекций. Проведите исследование и посмотрите, какие из них предлагают лучшую защиту. Использование их вместо того, чтобы вручную разрабатывать собственные методы безопасности, — гораздо лучший вариант.
  • Будьте в курсе и используйте новейшие инструменты — атаки SQLi не перестают развиваться, как и механизмы, которые мы используем для защиты веб-сайтов. Если вы скрываете свой сайт за старой технологией, вы серьезно рискуете сделать его уязвимым для новейших атак с использованием SQL-инъекций.
  • Разверните брандмауэр веб-приложений. Брандмауэр веб-приложений использует строгие правила для проверки и фильтрации HTTP-обменов. Он блокирует запросы, отображающие шаблоны SQLi, и является одним из самых простых способов защиты вашего веб-сайта от широкого спектра атак веб-приложений.

Роль вашего хостинг-провайдера

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

Например, если ваш проект основан на CMS, у вас, скорее всего, будет установщик в один клик. В дополнение к настройке приложений, таких как WordPress, за секунды, инструмент имеет функции автоматического обновления как для ядра, так и для надстроек.

Таким образом, вы вряд ли пропустите какие-либо критические исправления безопасности.

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

Вывод

Хотя SQL-инъекции впервые появились более двадцати лет назад, угроза по-прежнему актуальна. В мае 2020 года Министерство юстиции США обвинило хакера в использовании SQL-инъекций для кражи тысяч данных кредитных карт и другой личной информации. Спустя несколько месяцев хакеры с помощью SQLi-атаки украли более 8 миллионов записей с сайта графических ресурсов Freepik. 

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

Вопросы-Ответы

Почему хакеры используют SQL-инъекции?

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

Насколько распространены атаки с использованием SQL-инъекций?

OWASP выделяет SQL-инъекции как наиболее опасную угрозу веб-приложений, и, согласно Akamai, на SQLi приходится две трети всех атак на веб-приложения. Хакеры могут относительно легко определить, уязвим ли ваш сайт для SQL-инъекций. Атаки часто дают немедленные результаты, что делает их все более популярными в сообществе киберпреступников.

Почему случаются SQL-инъекции?

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

SQL Injection Scanner Online

Что такое SQL-инъекция и как предотвратить эту атаку?

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

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

Распространенная атака с внедрением SQL происходит, когда злоумышленники пытаются вставить вредоносные операторы SQL, расположенные в запросе HTTP (или HTTPS), путем изменения текущего поведения операторов SQL, созданных веб-приложением.

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

В результате риск уязвимости SQL Injection заключается в том, что злоумышленник может:

  • Читать/записывать информацию из базы данных
  • Чтение/запись файлов с диска (при определенных условиях)
  • Выполнение команд операционной системы на сервере базы данных (при определенных условиях)

Вот пример URL-адреса, который извлекает тип и версию сервера базы данных (MySQL) путем использования уязвимости внедрения SQL: http://vulnapp. example.com/travel.jsp?id=x' UNION SELECT NULL, NULL, @@version -- '

Один из наиболее распространенных типов внедрения SQL Методы — это SQL-инъекция на основе ошибок, которая является простейшим эксплойтом SQL и легко обнаруживается. Он включает в себя использование классических HTTP-запросов путем вставки неожиданных команд через пользовательский интерфейс, чтобы заставить сервер базы данных ответить ошибкой, которая включает информацию о цели: структуре, версии или операционной системе.

В приведенном ниже примере была вставлена ​​команда SQL для изменения значения полей Имя пользователя ($username = 1' или '1' = '1) и Пароль ($password = 1' или '1' = '1) , который будет изменен следующим образом:

  • Имя пользователя (($username = 1' или '1' = '1') LIMIT 1/*)
  • Пароль ($password = foo)

Это пример URL-адреса с измененным запросом, который вызовет ошибку и позволит злоумышленнику получить доступ ко всем именам пользователей и паролям. http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1'))%20LIMIT%201/*&password=foo

Для предотвращения чтобы этого не произошло, вам следует избегать использования пользовательского ввода непосредственно в коде приложения. Разработчикам необходимо очистить раздел ввода и удалить потенциально вредоносный код в операторах SQL, который может позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации базы данных: именам пользователей, паролям и другим важным учетным данным.

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

Как работает сканер SQL?

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

Мы создали этот сканер SQL-инъекций, чтобы вы могли легко выполнять тестирование SQL-инъекций и намного быстрее находить недостатки веб-приложений.

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

Онлайн-инструмент имеет интуитивно понятный и простой интерфейс.

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

Онлайн-сканер включает в себя два этапа:

  1. Поиск цели : На этом первом этапе сканер пытается идентифицировать все страницы в целевом веб-приложении, включая вводимые параметры в формах входа, URL-адреса, заголовки и т. д.
  2. Точное тестирование внедрения SQL : На этом этапе для каждой страницы обнаруженный на предыдущем шаге, онлайн-инструмент попытается определить, уязвимы ли параметры для SQL-инъекций, и сообщит об этом на странице результатов.

В таблице ниже показаны различия между Облегченным сканированием и Полным сканированием:

Возможности сканера Облегченное сканирование Полное сканирование
Максимальное количество URL-адресов Spider 20 500
Максимальная продолжительность паука 1 минута 15 минут
Активный максимальная продолжительность сканирования 2 минуты 30 минут

Предупреждение . Инструмент SQL Injection генерирует некоторые HTTP-запросы, которые можно пометить как атаки на стороне сервера (хотя они и безвредны). Мы рекомендуем не выполнять тест внедрения SQL, если у вас нет разрешения или надлежащей авторизации от владельца целевого веб-приложения.

Будет ли этот инструмент также проверять MySQL Injection?

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

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

Другими популярными системами управления реляционными базами данных (RDBMS), уязвимыми для внедрения SQL, являются Microsoft SQL Server, Oracle или SQLite.

Параметры

Параметр Описание
Целевой URL-адрес Это URL-адрес веб-сайта, который будет просканирован . Все URL-адреса должны начинаться с http или https .
Облегченное сканирование Это сканирование выполняется быстрее, но менее полно, чем полное сканирование.
Полное сканирование Это полная оценка SQL Injection целевого веб-приложения.

Как это работает

Инструмент может выполнять тест внедрения SQL путем вставки специальных символов (например, ' , " , 2*3 ) во все поля ввода целевого приложения и мониторинга поведение веб-страницы. Если он находит ошибки базы данных на веб-сайте, это указывает на потенциальный сценарий атаки SQL Injection.

Чтобы проверить найденную уязвимость, сканер SQL-инъекций пытается создать синтаксически правильный SQL-запрос, демонстрирующий, что инъекция прошла успешно. Вот почему будут отображаться следующие результаты: http://vulnapp.example.com/bookings.php?cat=4 AND 1=1 --

Сканер SQL Injection не пытается использовать SQL Injection, он просто обнаруживает наличие любой уязвимости, которая может повлиять на вашу серверную базу данных. При обнаружении недостатков наш онлайн-инструмент предлагает подробную информацию о рисках, которым вы подвергаетесь, и рекомендации по эффективному процессу исправления. Начните сканировать веб-приложения на наличие уязвимостей уже сегодня, чтобы избежать атак SQL-инъекций, которые позволяют злоумышленникам вмешиваться в конфиденциальную информацию (например, имена пользователей, пароли и другие важные учетные данные), раскрывая, удаляя или сохраняя ее для выкупа.

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

SQL-инъекция

SQL-инъекция

Выход

Для работы этого сайта требуется JavaScript!

Внедрение SQL

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

Готовы увидеть, как?

Фух. Теперь мы знаем, как SQL-инъекция работает, давайте научимся защищаться от такого рода атак.

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

Попробуйте войти со следующими учетными данными:

Электронная почта

[email protected]

Пароль

пароль

Итак, угадать пароль не получилось. Давайте попробуем добавить символ кавычки после пароля:

Электронная почта

[email protected]

Пароль

пароль’

Хммм. Сбой приложения из-за непредвиденной ошибки. Что это может означать?

Введите пароль password’ и посмотрите окно кода.

Введите следующие учетные данные и нажмите «Войти»:

Электронная почта

user@email. com

Пароль

‘ или 1=1—

И мы в деле! Мы успешно получили доступ к приложению, не имея угадать пароль, используя SQL инъекции.

Приложение

Журналы

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

Журналы показывают синтаксическую ошибку SQL. Это указывает на то, что символ кавычки что-то напутал в неожиданный способ.

Код

            
           

ВЫБЕРИТЕ * ОТ пользователей ГДЕ электронная почта = ‘#email#’ AND pass = ‘#password#’ LIMIT 1

Так код приложения выглядит за кулисами.

Цитата вставляется непосредственно в строку SQL и завершается запрос рано.