Программы для инъекций sql: Сканеры sql-инъекций — Хабр Q&A

Содержание

Уязвимости веб-приложений: SQL-инъекции, PHP-инъекции и XSS-инъекции

SQL-инъекции. Научный руководитель: Гапанюк Ю.Е., к.т.н., доцент

# 10, октябрь 2015 УДК 004.056.5 SQL-инъекции Колесникова К. И., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Системы обработки информации и управления» Кошкарева Ю. И., студент Россия,

Подробнее

Атакуем ДБО и мобильный банкинг

Атакуем ДБО и мобильный банкинг Глеб Чербов ведущий аудитор Digital Security Cистемы ДБО Модели: Банк-клиент Мобильный сервис ДБО Типовые источники проблем? WEB уязвимости Уязвимости клиентских хост-компонентов

Подробнее

Аудит безопасности сайта

Аудит безопасности сайта http://site. com 28.07.2013 Суммарная информация об уязвимостях SQL Injection /AJAX/infoartist.php 2 /listproducts.php 2 Cross Site Scripting /search.php 3 /t.php 3 Раскрытие исходного

Подробнее

Атаки на банк-клиенты

Юшкевич Иван аудитор по ИБ Digital Security Cистемы ДБО Модели: Банк-клиент Интернет-клиент Мобильный клиент 2 ДБО защищены? 1) Мы имеем опыт проведения тестов на проникновение почти всех систем ДБО, представленных

Подробнее

«Web-программирование (РНР, MySQL)» 2

«Web-программирование (РНР, MySQL)» 2 1. ОБЩАЯ ХАРАКТЕРИСТИКА ПРОГРАММЫ Данная дополнительная профессиональная программа разработана в соответствии с ФГОС по специальности 230115 «Программирование в компьютерных

Подробнее

Атака «DNS Rebinding»

Атака «DNS Rebinding» Positive Technologies Май, 2011 г. Same origin policy Суть механизма: Сценарий загруженный с сайта может отправлять полноценные запросы только к домену с которого он был загружен

Подробнее

О JavaScript

УДК 004.432.2 Сравнение JavaScript библиотек, основанных на MVC архитектуре Корнуков Н.О., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Системы обработки информации и управления»

Подробнее

Безопасность веб-приложений

Иван Юшкевич Аудитор ИБ Digital Security Типичные ошибки Популярные ошибки: Инъекция XXE Межсайтовый скриптинг Ошибки бизнес-логики Межсайтовые запросы SQL-инъекции Архитектурные ошибки 2 Опасные XSS хакер

Подробнее

УДК 004.7 Реализация сервера для установления соединения и непрерывного обмена сообщениями между парами компьютер-мобильное устройство Павлов М. С., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана,

Подробнее

Компоненты Microsoft SQL Server Лекция 2

Компоненты Microsoft SQL Server 2008 Лекция 2 План лекции Microsoft SQL Server 2008 Серверная часть системы Клиентская часть системы Конфигурация MS SQL Server Системные базы данных Server 2008. Лекция

Подробнее

Одноранговые и клиентсерверные

Одноранговые и клиентсерверные сети Назначение компьютерных сетей Совместное использование ресурсов и осуществление интерактивной связи между узлами сети. Ресурсы(resources) это данные, приложения и периферийные

Подробнее

УДК 003.26.7 004.9 Использование программных средств обеспечение безопасности Linux сервера в рамках соревнований CTF Литвиненко А.В., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана, Кафедра

Подробнее

Типовые уязвимости систем ДБО

Типовые уязвимости систем Алексей Тюрин к.т.н., руководитель департамента аудита ИБ Digital Security защищены? 1) Мы имеем опыт проведения тестов на проникновение почти всех систем, представленных на российском

Подробнее

Разработка веб-приложений на языке PHP

Разработка веб-приложений на языке PHP levelup.dp.ua Мы предлагаем несколько версий обучения наиболее популярной технологии в современном программировании. Версии отличаются между собой объемом материала,

Подробнее

Основы программирования на PHP.php

Основы программирования на PHP.php CPF Blagowest ‘ Ingenieuropass ‘ https://cpfblagowest.wordpress.com/ Описание курса: Если вы планируете стать веб программистом и создавать качественные сайты, то без

Подробнее

Создание сценария теста

Создание сценария теста Ваша работа с WAPT начинается с создания сценария теста. На этом этапе Вы определяете цели тестирования и указываете основные параметры теста, такие как число виртуальных пользователей,

Подробнее

Глава 1. Введение в технологию jquery 15

Содержание Об авторе 11 О рецензенте 12 Часть I. Основные сведения о jquery 13 Глава 1. Введение в технологию jquery 15 К вопросу о выборе jquery 15 Библиотеки JavaScript 15 Преимущества, обеспечиваемые

Подробнее

ЗАЩИТА ОТ АТАК НА УЯЗВИМОСТИ ПРИЛОЖЕНИЙ

1 ЗАЩИТА ОТ АТАК НА УЯЗВИМОСТИ ПРИЛОЖЕНИЙ Введение. Одной из ключевых задач защиты информации в современных условиях становится защита от атак на уязвимости приложений. Чтобы оценить актуальность этой

Подробнее

Руководство пользователя

Инв. подл. Подпись и дата Взам. инв. Инв. дубл. Подпись и дата ЗАО «ПИК ПРОГРЕСС» УТВЕРЖДЕНО А. СШМК.00001-01 13 01-ЛУ ЭКСПОРТ ДАННЫХ Руководство пользователя А.СШМК.00001 01 13 01 Листов 13 2016 2 АННОТАЦИЯ

Подробнее

УЯЗВИМОСТИ ВЕБ-ПРИЛОЖЕНИЙ

УЯЗВИМОСТИ ВЕБ-ПРИЛОЖЕНИЙ Оглавление Введение…3 1. Методика исследования…4 2. Резюме…5 3. Портрет участников…6 4. Статистика уязвимостей…8 4.1. Наиболее распространенные уязвимости…8 4.2. Уязвимости,

Подробнее

ÑÎÄÅÐÆÀÍÈÅ ÀÑÒÜ I. ÎÑÍÎÂÛ 25. Ââåäåíèå 19

ÑÎÄÅÐÆÀÍÈÅ Ââåäåíèå 19 ÀÑÒÜ I. ÎÑÍÎÂÛ 25 Ãëàâà 1. Îñíîâû áåçîïàñíîñòè ñåòåé è ñèñòåì 27 Правила обеспечения безопасности в организации 28 Планирование 28 Обнаружение 30 Ответные действия 30 Предотвращение

Подробнее

Содержание. Предисловие…1

Содержание Предисловие…1 ЧАСТЬ I. ОСНОВЫ ПОСТРОЕНИЯ БАЗ ДАННЫХ…3 Глава 1. Введение в базы данных. ..5 Основные понятия… 5 Банки данных…5 Организация баз данных… 6 Архитектуры информационных систем…7

Подробнее

РАЗРАБОТКА PHP-ФРЕЙМВОРКА

УДК 004.4 2 РАЗРАБОТКА PHP-ФРЕЙМВОРКА В.Я. Шабашов Алтайский государственный технический университет им. И.И. Ползунова г. Барнаул Статья посвящена вопросам создания высокоэффективного легковесного PHP-фреймворка,

Подробнее

Репозиторий БНТУ УДК :004(076.5)

УДК 658.512.22.011.56:004(076.5) О функциональности учебно-методического интерактивного комплекса кафедры САПР В.А. Кочуров БНТУ, Беларусь г. Минск, Общие сведения. Учебно-методический интерактивный комплекс

Подробнее

1С-Битрикс: Управление сайтом

1С-Битрикс: Управление сайтом Быстрый старт разработчика Установка продуктов Содержание Введение. .. 3 Глава 1. Установка системы… 4 ВАРИАНТЫ УСТАНОВКИ… 4 СИСТЕМНЫЕ ТРЕБОВАНИЯ… 5 Требования к серверному

Подробнее

I. ПРЕДВАРИТЕЛЬНЫЙ СБОР ДАННЫХ

Введение 18 Часть I. ПРЕДВАРИТЕЛЬНЫЙ СБОР ДАННЫХ 23 Глава 1. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ И WEB-ПРИЛОЖЕНИЯ 25 Архитектура Web-приложения 27 Некоторые сведения об HTML 27 Транспортный уровень: HTTP 29 Web-клиент

Подробнее

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ — УПИ «Утверждаю» Проректор по учебной работе Лобанов В.И. 2002 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ Промышленные

Подробнее

Использование геолокации в WEB

УДК 004.9 1. Введение Использование геолокации в WEB Греков М.И., студент Россия, 105005, г. Москва, МГТУ им. Н.Э. Баумана, кафедра «Системы обработки информации и управления» Научный руководитель: Филиппович

Подробнее

разработка, создание и обслуживание веб-сайтов, Москва

Разработка и создание сайтов — Москва. Студия Хорош это рабочая группа специалистов в области Интернет, ставящая перед собой цели исследования и развития российских интернет-проектов. Основная цель проекта развитие качества интернет-ресурсов в Москве и России. Мы в тренде инноваций: хорошие технологии, отличные специалисты, серьезные знания и опыт. Мы занимаемся разработкой с 1998г. 

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

Веб-сайты

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

Продвижение

Успешный сайт — тот, о котором знают! Мы предоставляем полный спектр услуг по продвижению и рекламе товаров, брендов и услуг.

  • Контекстная реклама
  • Поисковое продвижение
  • Социальное продвижение
  • Системы лояльности

Консультации

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

Графический дизайн

Создание фирменного стиля, брендирование продуктов, полный спектр услуг по полиграфии и печатной продукции.

  • Фирменный стиль
  • Брендирование
  • Полиграфия
  • Каталоги
  • Сувенирная продукция

Программирование

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

  • HTML5 & CSS3
  • Java
  • JavaScript
  • PHP
  • Objective C

Поддержка

Подберем оптимальный хостинг, сервер, облако. Поможем решить вопросы безотказной работы 24/7. Спроектируем и построим системы, рассчитанные на высокую нагрузку.

  • Хостинг сайтов
  • Выделенные серверы
  • Облачные решения
  • Высоконагруженные системы

Последние события

в Студии и интернет-сообществе

  • Новые правила PayPal

    PayPal заранее уведомляет Пользователей о важных изменениях в отношении Услуг PayPal, Соглашения с пользователем в отношении Услуг PayPal, а также в других политиках. Данный изменения вступят в силу с 19 ноября 2016г. Частным фрилансерам и компаниям, работающим с этой платежной системой, рекомендуется внимательно ознакомиться.

  • Новый Яндекс.Вебмастер

    Как давно и ожидалось — вышел из «беты» новый Яндекс.Вебмастер. Что нового «под капотом»?

  • MAC-16

    АНОНС: представляем MAC-16 — самую большую конференцию в истории Рунета, ориентированную на представителей digital-агентств и веб-студий, которая пройдет 29 сентября в Москве, а организаторами выступают РАЭК и RUWARD.

  • Российский Digital: Золотая Cотня 2016

    Золотая Сотня — уникальный аналитический продукт, не имеющий аналогов на российском рынке. Все существующие на рынке рейтинги проводят ранжирование в рамках локальных сегментов рынка интерактивных коммуникаций. Продакшены сравниваются со продакшенами, SEO-компании — с SEO-компаниями, SMM-агентства — с SMM-агентствами. 

  • Яндекс борется с «кликджекингом»

    Поисковая система Яндекс вводит новые алгоритмы обнаружения и наказания сайтов, пользующихся так называемым «кликджекингом». Сам Яндекс определяет это так: «Кликджекинг — механизм обмана, связанный с размещением на сайте невидимых элементов, взаимодействие с которыми пользователь осуществляет, не подозревая этого»

  • RuWard: E-Commerce Index 2016

    Уже 27 июля (в ближайшую среду) на Церемонии награждения будут объявлены результаты рейтинга крупнейших интернет магазинов России по итогам 2015 года. Вечеринка E-Commerce Index 2016 начнется с 19-00 на Цифровом Октябре в Москве.

  • Управление репутацией в сети

    Как показывает практика — не многие владельцы бизнеса понимают важность репутации в сети Интернет. Как правил владельцы интернте-ресурсов (корпоративные сайты, интернет-магазины и пр.) не уделяют этому вопросу должного внимания, предпочитая в лучшем случае переложить задачу по управлению репутацией на специалистов по продвижению.

  • Хостинг становится дешевле

    В очередном информационном бюллютене от нашего партнера хостинг-провайдера ISP-server.ru сообщается о значительном улучшении условий хостинга веб-сайтов: тарифы на виртуальный хостинг подешевели, а скорость увеличилась благодаря использованию SSD-дисков.

Pangolin: SQL-инъекции теперь не утомляют

Нет-нет, pangolin – это не название препарата =) На самом деле это новый интрумент для быстрой и эффективной эксплуатации SQL-инъекций, разработанный китайскими хакерами, и переводится как “ящер”. По заявлению главного разработчика, это самая лучшая программа среди подобных; возможно это так и есть, ведь в Китае pangolin является самым популярным интрументом для работы со SQL-инъекциями. Признаться, ни за что бы не скачал эту программу, заявленной как “The best SQL-injector you’ve ever seen”, если бы не встретил восторженных комментариев на одном из зарубежных форумов, посвященных веб-безопасности. Мнения пользователей меня заинтриговали, и я решил проверить что из себя представляет этот чудо-зверь.

Pangolin выполнен в виде GUI-приложения, работающего в Windows. Благодаря продуманному и в то же время простому интерфейсу, пользователь без труда разберется во всех ее особенностях. На мой взгляд, это довольно существенный плюс, так как перегруженный интерфейс, например как у SQL Injection Pentesting Tool, препятствует не только быстрому обучению, но и последующему комфортному использованию программы. Итак, в главном окне программы видим всего несколько полей для ввода данных: URL, метод отправки запросов (GET или POST), тип данных уязвимого параметра, тип базы данных и слово для сравнения правильных и неправильных запросов. Особенность программы заключается в том, что обязательным для заполнения является только URL и метод (обычно GET), остальное программа способна определить сама. Правда также желательно указывать тип БД, так как при слепых инъекциях, Pangolin может ошибиться. Количество поддерживаемых типов БД впечатляет: MySQL, MSSQL, Oracle, Sybase, DB2, Access, Informix, PostgreSQL, SQLite. Рассмотрим пример работы со SQL-инъекцией в MySQL.

Прежде всего указываем URL с инъекцией на каком-нибудь сайте или на собственном локальном сервере и нажимаем Check. После того, как программа завершит предварительное исследование инъекции, появятся вкладки для последующего получения информации. Во вкладке Informations (ох уж эти китайцы, английского они совсем не знают), мы можем выяснить стандартные параметры, такие как имя текущего пользователя, текущей БД и версию MySQL. Кроме того, программа позволяет узнать включена ли опция PHP magic_quotes_gpc, а также, при доступе к БД mysql, – всех пользователей и базы данных. Отмечаем все поля, которые нам необходимо узнать, и нажимаем Go. Стоит отметить, что программа работает очень быстро, поэтому уже через несколько секунд мы можем видеть нужную для нас информацию.

Но этого мало, переходим к следующей вкладке – Datas. Здесь мы можем выяснить названия таблиц, их поля и содержимое. В случае с MySQL5 добыть эту информацию для программы не составит труда, а вот в остальных случаях поможет только брут. К сожалению, в архиве с Pangolin имеются довольно слабые словари для брута, но нам ничего не мешает заменить их своими. Если у вас их еще нет, то вот мои:
Стандартные таблицы
Таблицы, изпользуемые в популярных CMS и форумах
Поля
Также может пригодится вот этот сервис.

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

Если вам повезло и текущий пользователь является root’ом, то переходим к следующей вкладке – FileReader. Здесь все просто: указываем файл и при наличии file_priv, видим его содержимое.

К сожалению, со слепыми инъекциями Pangolin не так хорош; по крайней мере мне не удалось заставить его даже определить версию БД – все что мы видим это следующая фраза в логе:

Oh, my. The target even not supports “UNION” keyword, it’s unbelievable!!!

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

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

Скачать

Как найти уязвимость SQL-инъекции и защититься от нее? — itGap

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

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

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

1. suip.biz

suIP.biz поддерживает базы данных MySQL, Oracle, PostgreSQL, Microsoft SQL, IBM DB2, Firebird, Sybase и т.д.

SQLMap включен в него, поэтому он будет проверять все шесть методов внедрения.

2. SQL Injection Test Online

Другой онлайн инструмент от создателей Hacker Target на основе SQLMap, который находит ошибки на основе уязвимости против HTTP GET запроса.

3. Vega

Vega — это бесплатная программа сканер безопасности с открытым исходным кодом, который доступен на платформах: Linux, OS X и Windows.

Vega написана на языке Java и имеет графический интерфейс.

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

  • XML/Shell/URL инъекция
  • Список каталогов
  • Удаленный файл
  • XSS
  • И многое другое…

4. SQLMap

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

Sqlmap обрабатывает пароли, хэши, роли, базы данных, таблицы, столбцы и поддержку для полного выгрузки таблиц базы данных.

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

5. SQL Injection Scanner

Онлайн сканер от Pentest-Tools с использованием OWASP ZAP. Есть два варианта — lifgt (БЕСПЛАТНО) и full (необходимо зарегистрироваться).

6. Acunetix

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

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

Что дальше?

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

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

Внедрение SQL-кода

Пользователи также искали:



предотвращение атак с внедрением sql — кода,

sql инъекция логин пароль,

sql инъекция пример,

sql — инъекция взлом,

sql инъекция защита,

sql injection example,

sql injection,

виды sql — инъекций,

инъекция,

injection,

внедрением,

sql injection,

sql injection example,

пример,

взлом,

виды,

инъекций,

sql инъекция защита,

защита,

пароль,

предотвращение,

атак,

кода,

example,

Внедрение,

логин,

sql инъекция логин пароль,

виды sql — инъекций,

SQL — кода,

Внедрение SQL — кода,

sql — инъекция взлом,

sql инъекция пример,

предотвращение атак с внедрением sql — кода,

внедрение sql-кода,

уязвимости защиты. внедрение sql-кода,

Виды угроз для сайта. SQL-инъекции — что это такое, и как с ними бороться?

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

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

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

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

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

Возможно это, если адреса страниц генерируются с помощью php. Адрес может выглядеть так: http://xxx.ru/index.php?ttt=iii&ddd=ggg, где под ttt и другими знаками подразумеваются определенные значения. Такие адреса содержат в себе информацию, которую может использовать злоумышленник. Переменные могут быть изменены в адресной строке с помощью ручного ввода.

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

Как защитить сайт от SQL-инъекций?

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

— Использование динамических запросов (адресов) только в случае крайней необходимости;

— Разделение пользовательских данных и запросов.

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

Что такое SQL Injection защита [АйТи бубен]

Внедрение операторов SQL (SQL Injection). Эти атаки направлены на Web- серверы, создающие SQL запросы к серверам СУБД на основе данных, вводимых пользователем.

Большинство серверов поддерживают язык SQL в вариантах, стандартизированных ISO и ANSI. В большинстве современных СУБД присутствуют расширения диалекта SQL, специфичные для данной реализации (PL/pgSQL в PostgreSQL, T-SQL в Microsoft SQL Server, PL SQL в Oracle и т.д.). Методы SQL Injection зависят от типа используемой СУБД. Например, SQL- инъекция на базе данных Oracle осуществляется в основном с помощью использования ключевого слово union, и она намного более трудна, чем на MS SQL- сервере, где можно выполнить множественные запросы, отделяя их символом точки с запятой. В заданной по умолчанию конфигурации MS SQL- сервер выполняется с привилегиями Local System и имеет расширенную процедуру «xp_shell», позволяющую выполнение команд операционной системы.

Многие Web- приложения используют данные, переданные пользователем, для создания динамических Web- страниц. Если информация, полученная от клиента, должным образом не верифицируется, атакующий получает возможность модифицировать запрос к SQL- серверу, отправляемый приложением. Запрос будет выполняться с тем же уровнем привилегий, с каким работает компонент приложения, выполняющий запрос (сервер СУБД, Web-сервер и т.д). В результате злоумышленник может получить полный контроль на сервером СУБД и даже его операционной системой. С точки зрения эксплуатации SQL Injection очень походит на LDAP Injection.

Предположим, аутентификация в Web- приложение осуществляется с помощью Web- формы, обрабатываемой следующим кодом:

SQLQuery = "SELECT Username FROM Users WHERE
Username = '" & strUsername & "' AND Password = '"
& strPassword & "'" strAuthCheck =
GetQueryResult(SQLQuery)

В этом случае разработчики непосредственно использует переданные пользователями значения strUsername и strPassword для создания SQL- запроса. Предположим, злоумышленник передаст следующие значения параметров:

Login: ' OR ''='
Password: ' OR ''='

В результате серверу будет передан следующий SQL-запрос:

SELECT Username FROM Users WHERE Username = '' OR ''='' AND Password = '' OR ''=''

Вместо сравнения имени пользователя и пароля с записями в таблице Users, данный запрос сравнивает пустую строку с пустой строкой. Естественно, результат подобного запроса всегда будет равен True, и злоумышленник войдет в систему от имени первого пользователя в таблице.

Обычно выделяют два метода эксплуатации внедрения операторов SQL: обычная атака, и атака вслепую (Blind SQL Injection). В первом случае злоумышленник подбирает параметры запроса, используя информацию об ошибках, генерируемую Web- приложением.

Сервер генерирует сообщение, аналогичное следующему:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]All
queries in an SQL statement containing a UNION
operator must have an equal number of expressions
in their target lists.

Из этого следует, что оператор union был передан серверу, и теперь злоумышленнику необходимо подобрать используемое в исходном выражении select количество параметров. Внедрение SQL кода вслепую. В этом случае стандартные сообщения об ошибках модифицированы, и сервер возвращает понятную для пользователя информацию о неправильном вводе. Осуществление SQL Injection может быть осуществлено и в этой ситуации, однако обнаружение уязвимости затруднено.
Наиболее распространенный метод проверки наличия проблемы – добавление выражений, возвращающих истинное и ложное значение.
Выполнение подобного запроса к серверу: http://example/article.asp?ID=2+and+1=1 должно вернуть ту же страницу, что и запрос: http://example/article.asp?ID=2 поскольку выражение ‘and 1=1’ всегда истинно.
Если в запрос добавляется выражение, возвращающее значение «ложь»: http://example/article.asp?ID=2+and+1=0 пользователю будет возвращено сообщение об ошибках или страница не будет сгенерирована. В случае если факт наличие уязвимости подтвержден, эксплуатация ничем не отличается от обычного варианта.

Лучшие бесплатные инструменты SQL-инъекций с открытым исходным кодом [обновлено в 2021 г.]

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

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

  • Классическая SQL-инъекция
  • Слепая SQL-инъекция
  • SQL-инъекция для конкретной базы данных
  • Составной SQLI

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

Уязвимость

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

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

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

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

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

BSQL хакер

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

Он поддерживает 4 различных типа атак SQL-инъекций:

  • Слепое внедрение SQL
  • Слепое внедрение SQL на основе времени
  • Deep Blind (на основе расширенных временных задержек)
  • Внедрение SQL на основе ошибок Внедрение SQL

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

Он поддерживает несколько точек внедрения, включая строку запроса, заголовки HTTP, POST и файлы cookie. Он поддерживает прокси для выполнения атаки. Он также может использовать данные аутентификации по умолчанию для входа в веб-учетные записи и выполнения атаки с данной учетной записи. Он поддерживает URL-адреса, защищенные SSL, а также может использоваться для URL-адресов SSL с недействительными сертификатами.

BSQL Hacker Инструмент для внедрения SQL-кода поддерживает MSSQL, ORACLE и MySQL. Но поддержка MySQL является экспериментальной и не так эффективна на этом сервере базы данных, как на других двух.

SQLmap

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

Он поддерживает широкий спектр серверов баз данных, включая MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB и HSQLDB. Большинство популярных серверов баз данных уже включены. Он также поддерживает различные виды атак SQL-инъекций, включая слепые на основе логических значений, слепые на основе времени, на основе ошибок, запросы на основе UNION, составные запросы и внеполосные запросы.

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

Этот инструмент позволяет загружать или выгружать любой файл с сервера базы данных, если сервером базы данных является MySQL, PostgreSQL или Microsoft SQL Server. И только для этих трех серверов баз данных он также позволяет выполнять произвольные команды и получать их стандартный вывод на сервере базы данных.

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

Загрузите карту SQL по приведенной ниже ссылке:

https://github.com/sqlmapproject/sqlmap

SQLninja

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

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

Его также можно интегрировать с Metasploit, чтобы получить доступ через графический интерфейс к удаленной базе данных. Он также поддерживает прямую и обратную привязку, как TCP, так и UDP.

Этот инструмент недоступен для платформ Windows. Он доступен только для операционных систем Linux, FreeBSD, Mac OS X и iOS.

Загрузите SQLninja по приведенной ниже ссылке:

http://sqlninja.sourceforge.net/

Инжектор Safe3 SQL

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

Он поддерживает веб-сайты HTTP и HTTPS. Вы можете выполнить SQL-инъекцию с помощью GET, POST или файлов cookie. Он также поддерживает аутентификацию (базовая, дайджест-аутентификация, NTLM HTTP) для выполнения атаки с использованием SQL-инъекции. Инструмент поддерживает широкий спектр серверов баз данных, включая MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase и системы управления базами данных SAP MaxDB.

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

Загрузите инструмент инжектора Safe3 SQL по ссылке ниже:

http://sourceforge.net/projects/safe3si/

SQLSus

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

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

Как и другие доступные инструменты SQL-инъекций, он также поддерживает HTTPS. Он может выполнять атаки как через GET, так и через POST.Он также поддерживает файлы cookie, прокси-сервер socks, HTTP-аутентификацию и получение двоичных данных.

Если доступ к information_schema невозможен или таблица не существует, он может выполнить атаку методом перебора, чтобы угадать имя таблицы. С помощью этого инструмента вы также можете клонировать базу данных, таблицу или столбец в локальную базу данных SQLite и продолжить работу в разных сеансах.

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

Загрузите SQLsus по приведенной ниже ссылке:

http://sqlsus.sourceforge.net/

Моль

Mole или (The Mole) — это бесплатный инструмент для автоматической SQL-инъекции. Это проект с открытым исходным кодом, размещенный на Sourceforge. Вам нужно только найти уязвимый URL-адрес и затем передать его в инструмент. Этот инструмент может обнаружить уязвимость в указанном URL-адресе с помощью методов запросов на основе Union или Boolean. Этот инструмент предлагает интерфейс командной строки, но интерфейс прост в использовании.Он также предлагает автозаполнение как для команд, так и для аргументов команд. Таким образом, вы можете легко использовать этот инструмент.

Mole поддерживает серверы баз данных MySQL, MsSQL и Postgres. Таким образом, вы можете выполнять атаки с использованием SQL-инъекций только против этих баз данных. Этот инструмент был написан на Python и требует только Python3 и Python3-lxml. Этот инструмент также поддерживает атаки на основе GET, POST и файлов cookie. Но вам нужно выучить команды для работы с этим инструментом. Команды нетипичны, но вы должны их иметь. Перечислите эти команды или изучите, это ваш личный выбор.

Загрузите инструмент для инъекций Mole SQL по ссылке ниже:

http://sourceforge.net/projects/themole/files/

Заключение

Это несколько автоматических инструментов SQL-инъекций, с помощью которых вы можете попытаться выполнить атаку SQL-инъекций. Если я что-то пропустил, поделитесь этим с нами в комментариях. Некоторые из этих инструментов также поставляются с определенными операционными системами для тестирования на проникновение. Если вы используете Backtrack или Kali Linux, у вас уже есть некоторые из этих инструментов. Итак, вы можете попробовать их в этих операционных системах.

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

инструмент для автоматического внедрения SQL и замены базы данных

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

  • Полная поддержка MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, Informix, MariaDB, MemSQL, TiDB, CockroachDB, HSQLDB, h3, MonetDB, Apache Derby, Системы управления базами данных Amazon Redshift, Vertica, Mckoi, Presto, Altibase, MimerSQL, CrateDB, Greenplum, Drizzle, Apache Ignite, Cubrid, InterSystems Cache, IRIS, eXtremeDB, FrontBase, Raima Database Manager, YugabyteDB и Virtuoso .
  • Полная поддержка шести методов SQL-инъекций: слепой на основе логических значений, слепой на основе времени, на основе ошибок, на основе запросов UNION, составные запросы и внеполосные запросы .
  • Поддержка прямого подключения к базе данных без использования SQL-инъекции путем предоставления учетных данных СУБД, IP-адреса, порта и имени базы данных.
  • Поддержка перечисления пользователей, хэшей паролей, привилегий, ролей, баз данных, таблиц и столбцов .
  • Автоматическое распознавание форматов хэшей паролей и поддержка взлома их с помощью атаки по словарю .
  • Поддержка дампа таблиц базы данных целиком, диапазон записей или определенных столбцов по выбору пользователя.Пользователь также может выбрать выгрузку только диапазона символов из каждой записи столбца.
  • Поддержка поиска для конкретных имен баз данных, определенных таблиц во всех базах данных или определенных столбцов во всех таблицах баз данных . Это полезно, например, для идентификации таблиц, содержащих пользовательские учетные данные приложения, в которых имена соответствующих столбцов содержат такие строки, как name и pass.
  • Поддержка загрузки и выгрузки любого файла из базовой файловой системы сервера базы данных, если программным обеспечением базы данных является MySQL, PostgreSQL или Microsoft SQL Server.
  • Поддержка команды для выполнения произвольных команд и получения их стандартного вывода на сервере базы данных, лежащем в основе операционной системы, когда программное обеспечение базы данных — MySQL, PostgreSQL или Microsoft SQL Server.
  • Поддержка устанавливает внеполосное TCP-соединение с отслеживанием состояния между атакующим компьютером и сервером базы данных , лежащим в основе операционной системы. Этот канал может быть интерактивной командной строкой, сеансом Meterpreter или сеансом графического пользовательского интерфейса (VNC) по выбору пользователя.
  • Поддержка повышения привилегий пользователя процесса базы данных с помощью команды Metasploit Meterpreter getsystem .

Подробную информацию о функциях см. В вики.

Вы можете загрузить последнюю версию zipball или tarball.

Желательно загрузить sqlmap, клонировав репозиторий Git:

  git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev  

Посмотреть другие демонстрации можно здесь.

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

Сообщения об ошибках приветствуются ! Пожалуйста, сообщайте обо всех ошибках в системе отслеживания проблем. Мы предпочитаем, чтобы патч отправлялся через запрос Git.

Каждый патч должен вносить одно логическое изменение. Пожалуйста, следуйте существующим стилистическим соглашениям: по возможности переносите код в 76 столбцов.Избегайте табуляции, используйте вместо них четыре пробела. Прежде чем вкладывать время в нетривиальный патч, стоит обсудить его в частном порядке по электронной почте.

Многие люди по-разному внесли свой вклад в разработку sqlmap. Вы можете стать следующим!

sqlmap — результат многих часов увлеченной работы небольшой команды энтузиастов компьютерной безопасности. Если вы оценили нашу работу и хотите, чтобы sqlmap продолжала развиваться, рассмотрите возможность внесения пожертвования на наши усилия через PayPal на сумму пожертвований @ sqlmap.org или нажав кнопку ниже.

Мы также принимаем житкойны на номер 1AUrrKYsamBEThdruYTQmUfMfLF7aaxU6x .

Авторские права © 2006-2021 Бернардо Дамеле Ассумпкао Гимарайнш и Мирослав Стампар. Все права защищены.

Это бесплатное программное обеспечение; вы можете распространять и / или изменять его в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation; Версия 2 (или более поздняя) с уточнениями и исключениями, описанными в файле лицензии.Это гарантирует ваше право использовать, изменять и распространять это программное обеспечение при определенных условиях. Если вы хотите встроить технологию sqlmap в проприетарное программное обеспечение, мы продаем альтернативные лицензии.
(свяжитесь с [email protected]).

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См. Стандартную общественную лицензию GNU v2.0 для получения дополнительных сведений по адресу http://www.gnu.org/licenses/gpl-2.0.html.

Использование sqlmap для атаки целей без предварительного обоюдного согласия является незаконным. Конечный пользователь обязан соблюдать все применимые местные, государственные и федеральные законы. Разработчики не несут ответственности и не несут ответственности за любое неправильное использование или ущерб, причиненный этой программой.

Вы можете связаться с командой разработчиков, написав на [email protected] .

Интернет-сканер

SQL Injection с OWASP ZAP

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

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

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

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

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

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

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

Вот пример URL-адреса, который извлекает тип и версию сервера базы данных (MySQL), используя уязвимость SQL Injection:

http: // vulnapp.example.com/travel.jsp?id=x 'UNION SELECT NULL, NULL, @@ version -'

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

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

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

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

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

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

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

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

Наш сканер SQL Injection был создан для того, чтобы легко выполнять тестирование SQL Injection и быстро находить недостатки веб-приложений.

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

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

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

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

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

В таблице ниже показаны различия между Light scan и Full scan :

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

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

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

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

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

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

Как найти уязвимости атак путем внедрения кода SQL?

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

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

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

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

suIP.biz

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

SQLMap поддерживает его, поэтому он будет тестировать на соответствие всем шести методам внедрения.

Онлайн-тест SQL-инъекции

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

Нетспаркер

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

Ознакомьтесь с этим индексом уязвимостей, который покрывается сканированием Netsparker.

Вега

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

Vega написана на Java и основана на графическом интерфейсе пользователя.

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

  • XML / Shell / URL-инъекция
  • Список справочника
  • Удаленный файл включает
  • XSS
  • И многое другое…

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

SQLMap

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

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

SQLMap также доступен в Kali Linux. Вы можете обратиться к этому руководству, чтобы установить Kali Linux на VMWare Fusion.

Сканер SQL-инъекций

Онлайн-сканер от Pentest-Tools тестирует с помощью OWASP ZAP. Есть два варианта — легкий (БЕСПЛАТНО) и полный (требуется регистрация).

Appspider

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

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

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

Acunetix

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

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

Вапити

Wapiti — это сканер уязвимостей черного ящика на основе Python. Он поддерживает большое количество обнаружений атак.

  • SQLi и XPath
  • CRLS и XSS
  • Shellshock
  • Раскрытие дела
  • Подделка запросов на стороне сервера
  • Выполнение команды

и более..

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

Scant3r

Готовый докер, scant3r — это легкий сканер, основанный на Python.

Он ищет потенциальные XSS, SQLi, RCE, SSTI по ​​заголовкам и параметрам URL.

Что дальше?

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

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

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

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

Если вам интересно узнать о SQL Injection, ознакомьтесь со следующими ресурсами.

Затем узнайте, как найти угрозы безопасности в базах данных NoSQL.

Что такое SQL-инъекция? Предотвращение SQL-инъекций

Что могут сделать злоумышленники с помощью SQL-инъекций?

Атаки

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

Когда атаки SQLi успешны, злоумышленники могут:

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

Анатомия атаки с использованием SQL-инъекции

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

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

Примеры из практики и последствия

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

В 2016 году анонимный информатор раскрыл 11,5 миллиона конфиденциальных документов из панамской юридической фирмы Mossack Fonseca. Злоумышленники могли использовать операторы SQL в системе управления контентом компании и в другой небезопасной сетевой архитектуре для доступа к базе данных клиентов компании и загрузки конфиденциальных файлов.Публикация этих документов не только смущала, но и имела серьезные юридические последствия для клиентов.

В 2009 году граждане России и США использовали атаки SQLi для получения доступа к 160 миллионам номеров кредитных карт от Heartland Payment Systems, что на тот момент было крупнейшей утечкой финансовой информации. Злоумышленники продавали украденные номера карт на черном рынке, а другие преступники быстро накапливали счета на сотни миллионов долларов, нанося ущерб как корпорациям, так и частным лицам.

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

Предотвращение атак с использованием SQL-инъекций

Несмотря на значительную опасность, которую представляют атаки SQLi, их легко предотвратить, если вы изучите некоторые передовые методы безопасного кодирования, которые включают базовые процедуры:

  • Обнаружение уязвимостей
  • Устранение уязвимостей
  • Устранение уязвимостей
  • Смягчить воздействие

Тестирование — ключ к обнаружению уязвимостей в вашем коде.Выбирайте надежные инструменты, такие как динамический анализ (DAST), который смотрит на приложение извне, как злоумышленник, и инструменты статического анализа (SAST), которые ищут уязвимости на уровне кода. Найдите области, в которых ваше приложение подключается к базе данных, и попробуйте передать ему необычные значения. Например, если вы вводите значение, содержащее одинарную кавычку, ваша программа обрабатывает этот символ как пользовательские данные или как код? Если вы включите тавтологический тест (например, «ИЛИ» 1 = 1 »), сможете ли вы получить доступ, как если бы вы ввели действительный пароль?

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

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

Умные разработчики, безопасная разработка

Атаки

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

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

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

Список ЛУЧШИХ ИНСТРУМЕНТОВ SQLi — Linux Подсказка

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

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

Havij:

Havij (что на персидском означает «морковь») — это инструмент иранской охранной компании ITSecTeam. Это полностью автоматизированный инструмент SQLi с графическим интерфейсом, поддерживающий множество методов SQLi.Он был разработан, чтобы помочь тестерам на проникновение в поиске уязвимостей на веб-страницах. Это удобный инструмент, который также включает расширенные функции, поэтому подходит как для новичков, так и для профессионалов. У Havij также есть версия Pro. Самое интересное в Havij — 95% успешных инъекций по уязвимым целям. Havij создан только для Windows, но можно использовать вино, чтобы заставить его работать в Linux. Хотя официальный сайт ITSecTeam давно не работает, Havij и Havij Pro доступны на многих веб-сайтах и ​​в репозиториях GitHub.

BBQSQL:

BBQSQL, известный как фреймворк для внедрения «слепого SQL», помогает решать проблемы, когда доступные инструменты эксплуатации не работают. Написанный на python, это своего рода полуавтоматический инструмент, который позволяет до некоторой степени настраивать любые сложные результаты SQL-инъекций. BBQSQL задает несколько вопросов в рамках подхода, основанного на меню, а затем создает инъекцию / атаку в соответствии с ответом пользователя. Это очень универсальный инструмент со встроенным пользовательским интерфейсом, упрощающим его использование.А использование python gevent делает это довольно быстро. Он предоставляет информацию о файлах cookie, файлах, HTTP-аутентификации, прокси, URL-адресе, методе HTTP, заголовках, методах кодирования, поведении перенаправления и т. Д. Требования перед использованием включают настройку параметров, опций, а затем настройку атаки по мере необходимости. Конфигурацию инструмента можно изменить для использования метода частотного или двоичного поиска. Он также может определить, сработала ли SQL-инъекция, просто просмотрев некоторые конкретные значения в ответах HTTP от приложения.База данных отображает сообщение об ошибке, которое жалуется на неправильный синтаксис SQL-запроса, если злоумышленник успешно использует SQL-инъекцию. Единственная разница между слепым SQL и обычным SQL-внедрением — это способ получения данных из базы данных.

Установите BBQSQL:

Левиафан:

Слово Левиафан относится к морскому существу, морскому дьяволу или морскому чудовищу. Инструмент назван так из-за его атакующей способности. Инструмент был впервые представлен на выставке Black Hat USA 2017 Arsenal.Это структура, состоящая из множества инструментов с открытым исходным кодом, включая masscan, ncrack, DSSS и т. Д., Для выполнения различных действий, включая SQLi, пользовательский эксплойт и т. Д. Инструменты также можно использовать в комбинации. Он обычно используется для задач тестирования на проникновение, таких как обнаружение машин и выявление уязвимых, перечисление сервисов, работающих на этих устройствах, и поиск возможностей атаки посредством моделирования атаки. Он может выявлять уязвимости в Telnet, SSH, RDP, MYSQL и FTP. Левиафан хорошо разбирается в проверке уязвимостей SQL в URL-адресах.Основная цель инструмента Левиафан — выполнять массовое сканирование сразу многих систем. Умение проверять уязвимости SQL делает левиафана. Для использования Leviathan Framework необходимы следующие зависимости: bs4, shodan, google-API-python-client, lxml, paramiko, requests.

Установить Левиафан:

$ git clone https://github.com/leviathan-framework/leviathan.git
$ cd leviathan
$ pip install -r requirements.txt

Белая Вдова:

Whitewidow — это широко используемый инструмент для сканирования уязвимостей при тестировании безопасности приложений и проникновении.Большинство людей, интересующихся этим инструментом, являются тестировщиками на проникновение и профессионалами в области безопасности. Whitewidow также имеет открытый исходный код и представляет собой автоматический сканер уязвимостей SQL, который может использовать список файлов или Google для очистки потенциально уязвимых веб-сайтов. Основная цель этого инструмента заключалась в том, чтобы узнать и рассказать пользователям, как выглядит уязвимость. WhiteWidow требует для работы некоторых зависимостей, таких как: Mechanize, nokogiri, rest-client, webmock, rspec и vcr. Он разработан на языке программирования ruby. Тысячи тщательно изученных запросов используются для очистки Google для поиска уязвимостей на различных веб-сайтах.Когда вы запустите Whitewidow, он сразу же начнет проверку на наличие уязвимых сайтов. Позже они могут быть использованы вручную.

Установите WhiteWidow:

$ git clone https://github.com/WhitewidowScanner/whitewidow.git
$ cd whitewidow
$ установка пакета

Инъекция jSQL:

jSQL — это инструмент автоматического SQL-инъекции на основе Java, отсюда и название jSQL.
Это FOSS и кроссплатформенная совместимость. Он собран с использованием таких библиотек, как Hibernate, Spock и Spring.jSQL Injection поддерживает 23 различные базы данных, включая Access, MySQL, SQL Server, Oracle, PostgreSQL, SQLite, Teradata, Firebird, Ingris и многие другие. jSQL Injection размещен на GitHub и использует платформу Travis CI для непрерывной интеграции. Он проверяет наличие нескольких стратегий впрыска: нормальный, ошибочный, слепой и временной. Он имеет другие функции, такие как поиск страниц администрирования, перебор хэша пароля, создание и визуализация веб-оболочки и оболочки SQL и т. Д. JSQL Injection может также читать или записывать файлы.
jSQL-инъекция доступна в операционных системах, таких как Kali, Parrot OS, Pentest Box, BlackArch Linux и других дистрибутивах для тестирования на проникновение.

Установите jSQL:

SQLmap

SQLmap — это автоматизированный инструмент, написанный на Python, который автоматически проверяет уязвимости SQL, использует их и захватывает серверы баз данных. Это бесплатное программное обеспечение с открытым исходным кодом и, вероятно, наиболее часто используемый инструмент для проверки уязвимых целей SQLi на проникновение. Это бесплатное программное обеспечение с открытым исходным кодом и невероятно мощным механизмом обнаружения.Созданный Даниэле Беллуччи в 2006 году, он был позже разработан и продвинут Бернардо Дамеле. Самым заметным шагом в разработке sqlmap стал Black Hat Europe 2009, который привлек к себе всеобщее внимание средств массовой информации. SQLmap поддерживает большинство типов баз данных, методы SQL-инъекций и взлом паролей на основе атак по словарю. Его также можно использовать для редактирования / скачивания / загрузки файлов в базу данных. Команда getystem в Meterpreter (Metasploit) используется для повышения привилегий. Для туннелирования ICMP добавлена ​​библиотека impacket.SQLmap обеспечивает получение результатов с использованием рекурсивного разрешения DNS намного быстрее, чем основанные на времени или логические методы. SQL-запросы используются для запуска необходимых DNS-запросов. SQLmap поддерживается версиями python 2.6,2.7 и python 3 и более поздних версий.
По словам Эда Скудиса, полная атака SQLmap зависит от 5-ступенчатой ​​модели:

  1. Разведка
  2. Сканирование
  3. Эксплойт
  4. Сохранение доступа
  5. Замыкание следов

Установить SQLmap:

$ apt-GET установить sqlmap

или

$ git clone https: // github.com / sqlmapproject / sqlmap.git
$ cd sqlmap
$ python sqlmap.py

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

Счастливого введения!

Отказ от ответственности: Вышеупомянутая статья предназначена только для образовательных целей.Пользователь несет ответственность за то, чтобы не использовать вышеперечисленные инструменты на цели без разрешения.

За пределами безопасности | SQL-инъекция

Слабый код веб-приложения может позволить хакерам получить доступ к вашей базе данных и сети

Обзор внедрения SQL-кода

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

Structured Query Language (SQL) — это почти универсальный язык баз данных, который позволяет хранить, обрабатывать и извлекать данные. Базы данных, использующие SQL, включают MS SQL Server, MySQL, Oracle, Access и Filemaker Pro, и эти базы данных в равной степени подвержены атакам с использованием SQL-инъекций.

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

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

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

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

Функции веб-сайта

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

Риск внедрения SQL-кода

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

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

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

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

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

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

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

Пример внедрения SQL

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

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

Любой динамический язык сценариев, включая ASP, ASP.NET, PHP, JSP и CGI, уязвим для атак. Единственное необходимое оборудование — это веб-браузер. В Интернете широко доступны инструменты, которые позволяют полуавтоматизировать процесс поиска слабых мест, и существует множество форумов, на которых хакеры делятся эксплойтами и помогают друг другу преодолевать препятствия.

Результаты внедрения SQL-кода

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

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

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

Защита от внедрения SQL-кода

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

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

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

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

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

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

Сканирование веб-сайтов как средство от внедрения SQL-кода

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

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

Сканирование веб-сайтов работает на основе выявления ИЗВЕСТНЫХ рисков и сообщения о них. Обычный взлом — это очень «публичная» деятельность. Инструменты широко продвигаются. Приемы широко распространяются на публичных форумах. Благодаря таким группам, как SecuriTeam, даже новые методы становятся общедоступными в течение нескольких часов или дней после их первого использования.com и другие, которые наблюдают, а затем широко предупреждают других.

beSECURE, автоматизированная система обнаружения уязвимостей, представляет собой веб-сервис, который использует компиляцию всех известных рисков по семействам и всем семействам в единую базу данных, компиляция которой занимает много лет, и много часов в день для обслуживания. Используя эту базу данных, beSECURE может оценить любой веб-сайт и составить отчет о РЕАЛЬНЫХ и НАСТОЯЩИХ рисках, оцененных в соответствии с их относительной важностью — часто в течение нескольких часов и без нарушения текущей деятельности сайта.

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

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

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