Содержание
- 2. Соревнования Capture the Flag SQL-Injection Blind SQL over JSON Dom based XSS – Ajax XSS with
- 3. Взаимодействие в Web Клиент(Браузер, Opera, Firefox, telnet, etc.) ↔ Сервер(Веб-сайт, Apache, IIS, Nginx) ↔ СУБД(MySQL, OracleDB,
- 4. URL(RFC3986) foo://example.com:8042/over/there?name=ferret#nose Scheme := foo(http, https, ftp) Authority := example.com:8042(домен, порт) Path := /over/there Query :=
- 5. Cookie Используются для авторизации на сайте, хранения персональных данных. Авторизация: Вводим user_email, password Браузер отправляет их
- 6. Cookie Параметры Ключ-значения([email protected]) Время жизни(минута, час, год) Путь(http://ya.ru/mail/show/show_mail.php) Домен(http://ya.ru) Cookie посылается обратно серверу только в том
- 7. Клиет/Браузер Хотим отрыть URL http://blogsphere.ru/show_mail.php?user_id=5&mail_dir=inbox Получаем IP-адресс blogsphere.ru 10.7.22.9 Протокол HTTP — port=80(обычно) Создаем socket Делаем
- 8. Клиент/Браузер Хотим отрыть URL http://blogsphere.ru/show_mail.php?user_id=5&mail_dir=inbox Браузер пишет в socket(с помощью send, write) следующий текст GET http://blogsphere.ru/show_mail.php?user_id=5&mail_dir=inbox
- 9. Сервер Сидит в accept(ждет клиента) Пришел клиент(socket). Вычитывает запрос клиента(с помощью recv, read) Формируются некоторые массивы(php)
- 10. Основы СУБД/SQL СУБД — набор программ для работы с БД. БД — набор таблиц Таблица —
- 11. СУБД/SQL Получение данных(в результате получим первую строчку) SELECT text_mail, datetime FROM tb_name WHERE user_id=3 AND mail_id=1;
- 12. SQL-Injection Незапланированное внедрение кода В коде есть запрос к БД $query = “SELECT * FROM table
- 13. Защита на уровне приложения Проверка ввода(RegExp) Параметризованные запросы Пример: SELECT * FROM table_name WHERE user_id =
- 14. Нормализация/Обфускация Раскодирование символов(стандарт RFC 3986): Символы (%41 - 5А% и %61 -%7A), цифры (%30 -%39), дефис
- 15. Защита числовых параметров Атака SELECT password FROM tb_users WHERE user_id = 10 OR 1=1 Экранирование не
- 16. Защита строковых параметров Использовать экранирование(добавляем \ перед ', и т.д.) Атака SELECT * FROM table WHERE
- 17. Summary Чтобы проверить сайт на уязвимости Добавить ' OR 1=1 в URL http://site.ru/index.php?id=1 ' OR 1=1
- 18. Как потренироваться Установить Apache+MySQL+PHP Для Windows всё это ставится одним пакетом denwer http://localhost/tools/phpmyadmin Заходим в папку
- 19. Литература Безопасность Ховард М., Лебланк Д. Защищенный код Syngress - SQL Injection Attacks and Defense Скляров
- 20. Проект в лаборатории Parallels - «Защита от SQL-Injection» Постановка задачи Имеется архитектура Есть сервер на котором
- 21. Проект в лаборатории Parallels - «Защита от SQL-Injection»
- 22. Проект в лаборатории Parallels - «Защита от SQL-Injection» Постановка задачи Необходимо организовать фильтрацию трафика, на предмет
- 23. Задачи Получить все ссылки на сайте На вход подается адрес сайта(например http://fenster.name) В результате должен сформироваться
- 24. Задачи Найти уязвимые параметры На вход подается список ссылок http://fenster.name/group.php?id=8201 http://fenster.name/blog.php?note=10 Нужно определить параметры на которые
- 26. Скачать презентацию