Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Системы обнаружения
уязвимостей в web
приложении на примере
Badoo
Еремин Станислав, Badoo Development
Безопасность? Зачем?
Ручное тестирование
- данные от пользователя
- негативный сценарий
- code review
Глобальные проекты
- Internal security
- php-fpm
- AntiCSRF
- AntiXSS
Автоматическое тестирование
- Selenium
- сканеры уязвимостей
Сканеры уязвимостей и алгоритмы их
работы
1) создаем дерево сайта
2) вычленяем параметры
3) добавляем к ним шаблоны
4) проверяем по базе
Настройка окружения
XSS (Cross Site Scripting)
http://somesite.com/test.php?title=MyTitle
<?php
echo “<title>” . $_GET[“title”] . “</title>”;
?>
<title>&lt;script&gt;alert(1);&lt;/script&gt;</title>
<title><script>alert(1);</script></title>
<title></title><script>alert(1);</script></title>
SQL injection
http://somesite.com/index.php?id=1
…
db->query(“select * from table where id = “ . $_GET[‘id’]);
...
- спецсимволы: ‘ , “ ,  …
- логические запросы:
… and 1=1 TRUE
… and 1=2 FALSE
Сканеры
skipfish
ПЛЮСЫ МИНУСЫ
подробное дерево
проекта
долго работает
простота использования слабый анализатор js
много настроек много ложных
срабатываний
Nikto
ПЛЮСЫ МИНУСЫ
база стандартных
файлов и путей
много ложных
срабатываний
быстро работает нет анализатора js
узкая специализация узкая специализация
ПЛЮСЫ МИНУСЫ
основа для вашего
сканера
сложный в освоении
много готовых плагинов
подробные описания
дефолтных багов
ПЛЮСЫ МИНУСЫ
многофункциональность цена
мало ложных
срабатываний
неизвестные алгоритмы
умный анализатор js
Таблица сравнения
Цена Функционал Правильность
срабатывани
й
Удобство
использования
skipfish free простые
уязвимости,
дерево
много ложных
срабатываний
практичесик
автономен в
работе
nikto/wikto free сканер
директорий и
файлов
сильно
зависит от
факторов
настройки
мало настроек,
основы
Acunetix $1000-$10000
+ free trial
выгуливает
собаку 99%
мало офф
документации
w3af free фреймворк 50/50 Свои .py
скрипты
1. проверяй уязвимости руками!
2. учись сам находить,
анализировать и использовать их!
3. знай узкие места
в своем приложении!
4. понимай значение сканеров!
s.eremin@corp.badoo.com
@darkydarkydark
Вопросы?

More Related Content

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