Проверка системы управления содержимым на SQL уязвимости - Контрольная работа

бесплатно 0
4.5 103
Особенность прямого внедрения вредоносных инструкций в SQL-запросы. Сущность основных способов защиты от инъекции, в основе которых лежит правильная и хорошая фильтрация пользовательского ввода. Характеристика автоматизированного анализа исходного кода.


Аннотация к работе
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯМногие веб-разработчики даже не догадываются, что SQL-запросы могут быть подделаны, и считают, что SQL-запросы всегда достоверны. Прямое внедрение вредоносных инструкций в SQL-запросы - это методика, в которой взломщик создает или изменяет текущие SQL-запросы для отображения скрытых данных, их изменения или даже выполнения опасных команд операционной системы на сервере базы данных.1.1 Из чего состоит запрос Позволяет злоумышленнику выполнять запросы в БД сайта, а в некоторых случаях писать/читать файловую систему с правами сервера баз данных. Любой запрос SQL состоит из нескольких предложений. Это пример самого простого запроса, который состоит из двух предложений: предложение SELECT и предложение FROM. Для выбора по условию к запросу добавляется предложение WHERE.Данный пример собирает запрос, подобное можно встретить во множестве сайтов. Как видно, в запрос просто подставляется значение ячейки суперглобального массива $_GET. Сначала узнаем количество полей возвращаемых запросом, для этого начинаем угадывать количество столбцов. Для выполнения запроса к другой базе данных достаточно поставить ее имя перед именем таблицы и поставить “.”(точка) между именем БД и таблицей. Имея доступ к INFORMATION_SCHEMA, злоумышленник легко узнает количество, имена и структуры всех таблиц БД.Существуют разные способы защиты от инъекции, но в основе каждого лежит правильная и хорошая фильтрация пользовательского ввода. Данные к веб-приложениям поступают из массивов GET, POST и из COOKIE. Нужно численные значения преобразовывать к численным посредством intval(), floatval() и тп. Следует отметить, что intval() нельзя использовать при проверке число или нет в переменной. Для проверки на число лучше использовать is_numeric().В данном курсовом проекте производится аудит "Системы управления сайтами NETCAT 3.0 Extra". Отключаем magic_quotes_gpc - это процесс автоматического экранирования входящих данных PHP-скрипта. вредоносный фильтрация пользовательский код Отключаем его путем удаления соответствующих строк из .htaccess, расположенного в корневой директории web-сервера. Магические кавычки также включены в конфигурационном файле /netcat/vars.inc.php, поэтому сбрасываем его значение в ноль и в этом файле. Остался еще файл php.ini, в котором переопределяем значения "display_errors" и "display_startup_errors" в значение "On", и меняем "error_reporting" в "E_ALL & ~E_NOTICE".Для автоматизированного анализа исходного кода существует огромное число инструментов, позволяющих за короткое время выявить потенциальные уязвимости путем разбора кода. Разделяют два подхода к анализу - динамический и статический. Такой инструментарий можно найти под все распространенные языки программирования, в том числе под PHP. Такой анализ в ряде случаев выдает огромное число false positive либо вообще не находит ни одной уязвимости в коде, который может быть просто наполнен различными недоработками. Таких продуктов не так уж и много в силу их сложности (одну и ту же операцию можно выполнить бесконечным числом вариаций, поэтому такие анализаторы должны хорошо уметь парсить синтаксис языка).Внедрение SQL-кода - один из распространенных способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.

План
Содержание

Введение

1. Теоретическая часть

1.1 Из чего состоит запрос

1.2 Примеры

1.3 Защита

2. Практическая часть

3. Потенциальные уязвимости

Заключение
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?