opium
@opium
Просто люблю качественно работать

Как вы делаете security аудит сайтов?

Желательно максимально подробно с указанием софта, сервисов и действий.
Сейчас я делаю примерно так
1)Сканю порты nmap.
2)Делаю скан со snort.
3)Прогоняю антивирусами часть страниц сайта.
4)Смотрю версию cms или framework и смотрю баги в их багтрекерах.
5)Тестирую экранирование ввода.
6)Смотрю как все запускается на сервере, suphp, mod_security.
7)Чекаю пароли на адекватность.
8)Делаю маленький ddos.

Наверно что то делаю ещё, но не систематично.
  • Вопрос задан
  • 4991 просмотр
Пригласить эксперта
Ответы на вопрос 6
@Ents
Проверяю версии софта (не только в скриптах есть дыры)
Проверяю права на файлы (что бы php-fpm (apache?) не мог писать в папки, откуда можно запросить пхп скрипт)
Ответ написан
@ggagnidze
можно еще отдать на аутсорсинг скрипткиддисам и просто считать каждый день контрольные суммы всех файлов
Ответ написан
Ваш алгоритм в большей степени относится к аудиту веб-сервера, а не сайта.

Если же брать конкретный сайт и есть доступ к исходникам, то алгоритм следующий (для PHP)
1) Открываем исходники в IDE
2) Делаем поиск вызова функций типа eval и проверяем какие данные передаются в эти функции
3) Делаем поиск обращения к переменным из массивов POST, GET, REQUEST и проверяем как данные фильтруются и используются
4) Делаем поиск move_uploaded_file, file_get_contents и проверяем как фильтруются данные передаваемые в функцию

Если же доступа к исходникам нет, то алгоритм следующий
1) Пытаемся определить движок, например, тут 2ip.ru/cms/
1.1) Пытаемся Определяем версию движка
1.2) Чекаем наличие багов в данном движке
2) Пытаемся найти админку (Admin Finder)
2.1) Чекаем стандартные пары логин-пароль
3) Чекаем наличие папки svn
3.1) Делаем анализ исходников
4) Проверяем наличие дампов (папка dump, файлы dump.sql, dump.zip и т.п.)
4.1) Проверяем наличие паролей в архиве
4.2) Делаем анализ исходников
5) Составляем список уникальных URL (http://example.com/q/1 и example/q/2 — не уникальные, но example/q/1 и example.com/p/2 — уникальные).
5.1) Если включено ЧПУ пытаемся подобрать имя GET переменной
6) В адресную строку летят кавычки, преобразование переменных в массив (если удалось обнаружить имя GET переменной), HTML теги
7) Проверяются cookie сайта. При наличии кукисов установленных самим сайтом меняем значения на свои (опять кавычки, html теги
8) При наличии на сайе форм (комментарии, публикация статей, заметок, строк поиска и т.п.) с последующим выводом введенных данных на странице производится проверка на наличие XSS
9) Тестируется работа сайта с кривым именем браузера
Ответ написан
@egorinsk
Теоретически можно еще исходники смотреть (но это скучно), в плане того, как обрабатываются входные данные. Можно использовать сканеры SQL inj/XSS. Еще есть тулза от Гугла, skipfish.
Ответ написан
prox
@prox
повторюсь наверное:
— как себя ведет сайт/сервер при нагрузки (большое количество соединений, ротация логов веб сервера)
запускаю LOIC на 80 порт, webstress с как можно больше машин
в это же время смотрим результат load impact
— узнаю слабое место сервер (ОС) при нагрузки (был случай, сайт на перле и при нагрузки съел все память)
— Nmap intense scan
— Limit Connections Per Second Per IP (firewall)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы