Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВадим Федяхин
1 Нарушение целостности структуры SQL-запроса
3 Внедрение SQL-кода (SQL injection) один из распространённых способов взлома ПО, работающего с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах. Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL. Внедрение SQL-кода (SQL injection) один из распространённых способов взлома ПО, работающего с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах. Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL.
4 ... $id = $_REQUEST['id']; $res = mysql_query("SELECT * FROM news WHERE id_news = $id"); WHERE id_news = $id");... SELECT * FROM news WHERE id_news = 5 Если злоумышленник передаст в качестве параметра id строку -1 OR 1=1 id = -1 OR 1=1 SELECT * FROM news WHERE id_news = -1 OR 1=1 SELECT * FROM news WHERE id_news = 5 Если злоумышленник передаст в качестве параметра id строку -1 OR 1=1 id = -1 OR 1=1 SELECT * FROM news WHERE id_news = -1 OR 1=1
5 Error-based SQL injection Инъекция заведомо некорректного запроса с целью получения ошибки для определения типа и версии используемой СУБД. 1.Определение уязвимостей, специфичных для данной версии. 2.Определение особенностей СУБД. 3.Определение дальнейшего вектора атаки
6 $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 -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 $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 -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
7 Stacked queries SQL injection Если веб-приложение поддерживает последовательные запросы - в уязвимый параметр HTTP-запроса добавляется точка с запятой (;) и следом внедряемый SQL- запрос. SELECT id_news, header, body, author FROM news WHERE id_news = -1; SELECT username,password FROM admin
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.