SQL-injections презентация

Содержание

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

Слайд 1SQL-injections
for “dummies”


Слайд 2Что это?

Способ несанкционированного доступа к данным, хранящимся в БД, основанный на

внедрении в запрос произвольного SQL-кода.

Слайд 3Пример

$id = $_REQUEST['id'];
$res = mysql_query("SELECT * FROM news WHERE id_news =

$id");
http://site.com/news.php?id=5
SELECT * FROM news WHERE id_news = 5

http://site.com/news.php?id=-1+OR+1=1
SELECT * FROM news WHERE id_news = -1 OR 1=1

Слайд 4Пример
$search_text = $_REQUEST['search_text'];
$res = mysql_query("SELECT id_news, news_date, news_caption, news_text, news_id_author

FROM news WHERE news_caption LIKE('%$search_text%')");
http://site.com/news.php?search_text=qwerty

SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news WHERE news_caption LIKE('%Test%')

')+and+(news_id_author='1

SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news WHERE news_caption LIKE('%') AND (news_id_author='1%')

Слайд 5Причины
Отсутствие необходимой обработки входящих запросов
Отсутствие обработки ошибок
Отсутствие ограничений прав


Слайд 6Последствия
Компрометация пользовательских данных
Дамп БД
Внедрение “бэкдора”
Доступ к хостовой ОС
Подмена данных
Внедрение данных


Слайд 7Основные типы

UNION query
Error-based
Stacked queries
Blind injections


Слайд 8UNION query SQL injection
$res = mysql_query("SELECT id_news, header, body, author FROM

news WHERE id_news = " . $_REQUEST['id']);

-1 UNION SELECT 1, username, password, 1 FROM admin

SELECT id_news, header, body, author FROM news WHERE id_news = -1 UNION SELECT 1, username, password, 1 FROM admin

Слайд 9Error-based SQL injection
Инъекция заведомо некорректного запроса с
целью получения ошибки для определения


типа и версии используемой СУБД.
Определение уязвимостей, специфичных для данной версии.
Определение особенностей СУБД.
Определение дальнейшего вектора атаки


Слайд 10Stacked queries SQL injection
Если веб-приложение поддерживает
последовательные запросы - в уязвимый


параметр HTTP-запроса добавляется точка
с запятой (;) и следом внедряемый SQL-
запрос.

SELECT id_news, header, body, author FROM news WHERE id_news = -1; SELECT username,password FROM admin


Слайд 11Blind SQL-injection
Time-based
К уязвимому запросу добавляется синтаксически верный SQL-запрос
Замеряется время обработки запроса
Замеряется

изменение времени обработки при изменении запроса

Boolean-based

Слайд 12Тестирование
Выполняется:
Программистами на основании code review
DBA и/или QA – проверка настроек БД,

прав пользователей, имен таблиц и т.д.
QA:
Тестирование вручную – на основании знаний о системе и выполняемых ею функций

Автоматизированные тестирование – с использованием сканеров для определения потенциально опасных функций и/или возможности эксплуатации определенных функций

Слайд 13Автоматизация

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

Следствие: эффективность

тестирования «общими» сканерами
стремится к 0.

Варианты решения:
Ручное тестирование
Ревъю кода
Использование узкоспециализированных либо «самописных» средств

Слайд 14SQLmap
Преимущества:
минимальное количество ложных срабатываний
возможность эксплуатации встроенными средствами
развернутая информация об уязвимости
простота в

использовании
бесплатность

Недостатки:
Необходимость предварительного ручного тестирования (поиск потенциальных слабостей)
Необходимость минимальных технических навыков
Требуется понимание принципов инъекций и их использования


Слайд 15Методы защиты
Обработка вводимых данных
Ограничение прав
Логгеры, триггеры
Else…


Слайд 16Links:
http://en.wikipedia.org/wiki/SQL_injection
http://sqlmap.sourceforge.net
http://mwgrasp.oni.cc
http://antichat.ru
https://www.owasp.org
http://http://www.mavitunasecurity.com/netsparker




Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика