18
Системы обнаружения уязвимостей в web приложении на примере Badoo Еремин Станислав, Badoo Development

Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Embed Size (px)

DESCRIPTION

Презентация с первой конференции Badoo для тестировщиков LoveQA.

Citation preview

Page 1: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Системы обнаружения уязвимостей в web

приложении на примере Badoo

Еремин Станислав, Badoo Development

Page 2: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Безопасность? Зачем?

Page 3: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Ручное тестирование

- данные от пользователя

- негативный сценарий

- code review

Page 4: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Глобальные проекты

- Internal security

- php-fpm

- AntiCSRF

- AntiXSS

Page 5: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Автоматическое тестирование

- Selenium

- сканеры уязвимостей

Page 6: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Сканеры уязвимостей и алгоритмы их работы

1) создаем дерево сайта

2) вычленяем параметры

3) добавляем к ним шаблоны

4) проверяем по базе

Page 7: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Настройка окружения

Page 8: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

XSS (Cross Site Scripting)http://somesite.com/test.php?title=MyTitle<?phpecho “<title>” . $_GET[“title”] . “</title>”;?>

<title>&lt;script&gt;alert(1);&lt;/script&gt;</title>

<title><script>alert(1);</script></title>

Page 9: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

<title></title><script>alert(1);</script></title>

Page 10: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

SQL injectionhttp://somesite.com/index.php?id=1

…db->query(“select * from table where id = “ . $_GET[‘id’]);

...

- спецсимволы: ‘ , “ , \ …- логические запросы:

… and 1=1 TRUE… and 1=2 FALSE

Page 11: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Сканеры

Page 12: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

skipfish

ПЛЮСЫ МИНУСЫ

подробное дерево проекта

долго работает

простота использования слабый анализатор js

много настроек много ложных срабатываний

Page 13: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Nikto

ПЛЮСЫ МИНУСЫ

база стандартных файлов и путей

много ложных срабатываний

быстро работает нет анализатора js

узкая специализация узкая специализация

Page 14: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

ПЛЮСЫ МИНУСЫ

основа для вашего сканера

сложный в освоении

много готовых плагинов

подробные описания дефолтных багов

Page 15: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

ПЛЮСЫ МИНУСЫ

многофункциональность цена

мало ложных срабатываний

неизвестные алгоритмы

умный анализатор js

Page 16: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

Таблица сравнения

Цена Функционал Правильность срабатываний

Удобство использования

skipfish free простые уязвимости, дерево

много ложных срабатываний

практичесик автономен в работе

nikto/wikto free сканер директорий и файлов

сильно зависит от факторов настройки

мало настроек, основы

Acunetix $1000-$10000+ free trial

выгуливает собаку 99%

мало офф документации

w3af free фреймворк 50/50 Свои .py скрипты

Page 17: Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимостей в веб приложении на

1. проверяй уязвимости руками!

2. учись сам находить, анализировать и использовать их!

3. знай узкие места в своем приложении!

4. понимай значение сканеров!