Ответы пользователя по тегу Информационная безопасность
  • Как защитить пользователей мобильной версии сайта/форума от вредоносных банеров/скриптов?

    А вы уверены что все?
    Проверяйте .htaccess наличие подобных инструкций
    RewriteCond %{HTTP_USER_AGENT} (android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC] RewriteCond %{HTTP_USER_AGENT} !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot|eltaindexer|feedfetcher|gamespy|gigabot|googlebot|gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer|ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker|yahoo!\ slurp|mmcrawler|yandexbot|yandeximages|yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons|yandexdirect|yandexmetrika|yandexcatalog|yandexnews|yandeximageresizer) [NC]

    Проверяйте все javascript которые подгружаются вашим сайтом. Возможна установка вирусятины была произведена через внедрение кода в JS файлы или банально в html коде страницы дописали <script type="text/javascript" src="http://example.com/xxxx.js"></script>

    Возможна еще установка кода в php файлы, но тут уже исходники анализировать нужно.

    В общем алгоритм проверки заражен ли ваш сайт такой:
    — смотрим .htaccess
    — смотрим какие файлы выкачиваются из сети при обращении к сайту
    Если все чисто, то с вероятностью 90% ваш сайт чист. Остальные 10% приходятся на тех, у кого подгрузка вируса прописана в php файлах.
    Ответ написан
    4 комментария
  • Как вы делаете security аудит сайтов?

    Ваш алгоритм в большей степени относится к аудиту веб-сервера, а не сайта.

    Если же брать конкретный сайт и есть доступ к исходникам, то алгоритм следующий (для 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) Тестируется работа сайта с кривым именем браузера
    Ответ написан
    Комментировать