Спонсор: Microsoft
Опубликован: 25.06.2010 | Уровень: специалист | Доступ: свободно
Самостоятельная работа 8:

Оценка безопасности web-страниц с использованием ручного и автоматизированного анализа наличия уязвимостей типа "SQL Injection"

< Лекция 16 || Самостоятельная работа 8 || Лекция 17 >
Аннотация: Рассматривается методика анализа защищенности системы на основе выявления уязвимостей типа SQL Injection на web-страницах.

Цель занятия

Освоение и систематизация знаний об уязвимостях и инструментах их выявления

Описание уязвимости

Уязвимости типа " SQL Injection " ("инъекция в SQL-запросы") позволяют нарушителю выполнять несанкционированные операции над содержимым баз данных SQL -серверов путём вставки дополнительных команд в SQL -запросы. Любой SQL -запрос представляет собой последовательность команд для сервера СУБД, сформированную на основе специализированного языка структурированных запросов SQL (Structured Query Language). Данная уязвимость характерна для приложений, которые получают в качестве входных данных параметры доступа к базе данных, после чего на их основе формируют SQL -запрос к серверам СУБД. Уязвимость " SQL Injection " заключается в отсутствии проверки корректности данных, поступающих на вход программе, что потенциально может позволить нарушителю составить входные данные таким образом, что приведёт к искажению искомого SQL -запроса к СУБД.

Поиск страниц для проведения экспериментов

  • Задать в Google поиск страниц с использованием служебных команд:
    inurl: login.php
  • Найти страницы, которые запрашивают у пользователя данные (страница поиска, обсуждений, и т.д.) и используют метод POST, чтобы послать команды другой Web странице; все параметры между < FORM > и </FORM> потенциально могут быть уязвимы к введению SQL кода:
    <FORM action=Search/search.asp method=post>
    <input type=hidden name=A value=C>
    </FORM>
  • Найти страницы, которые используют параметры, подобно:
    http:// somesite1.ru/?ID=31610

Проверка наличия на странице уязвимости

  • Опробовать приведенные ниже варианты в качестве входных данных в текстовые поля для ввода имени пользователя и пароля / URL -параметра / скрытых полей:
    - hi' or 1=1--
    - ' or 1=1-
    - " or 1=1--
    - or 1=1-
    - ' or 'a'='a
    - " or "a"="a
    - ') or ('a'='a
  • Примеры
    - Login: hi' or 1=1--
    - Password: hi' or 1=1
    - http://somesite2/index.asp?id=hi' or 1=1--
    - <FORM action=http:// somesite3/Search/search.asp method=post>
    - <input type=hidden name=A value="hi' or 1=1-- ">
    - </FORM>

Признаком обнаружения уязвимости является получение возможности неавторизованного входа на сайт

Автоматизированная проверка наличия на странице уязвимости

  • Познакомиться с возможностями автоматического сканера уязвимостей sqlmap http://sqlmap.sourceforge.net/doc/README.pdf
  • Загрузить утилиту sqlmap с сайта http://sqlmap.sourceforge.net/
  • Запустить утилиту, в качестве параметров передав адреса страниц, выбранных для проведения экспериментов
  • Проанализировать результаты работы программы

Действия в случае обнаружения уязвимости на странице

При обнаружении на странице уязвимости SQL Injection

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

Краткие итоги

В результате выполнения лабораторной работы студенты должны:

  • научиться смотреть на информационную систему с позиции взломщика
  • освоить принципы инструментального аудита безопасности информационной системы
  • понять важность встраивания механизмов защиты от некорректных входных данных на этапе разработки программного обеспечения
< Лекция 16 || Самостоятельная работа 8 || Лекция 17 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????