Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Оценка безопасности web-страниц с использованием ручного и автоматизированного анализа наличия уязвимостей типа "SQL Injection"
Цель занятия
Освоение и систематизация знаний об уязвимостях и инструментах их выявления
Описание уязвимости
Уязвимости типа " 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
- Немедленно сообщить о найденной уязвимости администрации сайта
- НЕ развивать атаку
- НЕ размещать информацию о найденной уязвимости на общедоступных ресурсах
- НЕ предпринимать действий, которые могут привести к нарушению конфиденциальности, целостности или доступности размещенной на сайте информации
Краткие итоги
В результате выполнения лабораторной работы студенты должны: