Подготовка веб-сайта ASP.Net к тестированию на проникновение

За прошедшие годы у меня было несколько разработанных мною веб-сайтов, которые предлагались клиентам для тестирования на проникновение. В большинстве случаев проблемы, которые выделяются при возврате результатов, связаны с поведением ASP .Net по умолчанию, например с возможными атаками с использованием межсайтовых сценариев и т. Д.

Есть ли какие-нибудь хорошие статьи о том, какие уязвимости существуют по умолчанию в приложении ASP .Net, и, во-вторых, есть ли какие-нибудь хорошие контрольные списки, которые помогут заранее подготовить сайт?


person Brian Scott    schedule 08.11.2010    source источник
comment
Быстрое обновление. Я нашел несколько хороших инструментов для статического анализа кода, таких как CAT.Net и AntiXSS. Похоже, они дают хорошие отчеты о потенциальных уязвимостях кода, но есть ли какие-то общие руководства, которым нужно следовать, которые включают запуск таких инструментов?   -  person Brian Scott    schedule 08.11.2010


Ответы (3)


Я думаю, что чек-лист меняется со временем, и его теория вместе с опытом. Я всегда проверяю свои файлы журналов и вижу новые способы, которыми они пытаются проникнуть на мой сайт - например, сканирование «несуществующих» файлов или попытки выполнить случайные запросы.

Хорошая страница с множеством статей о проникновении: http://www.cgisecurity.com/pentest.html

Некоторые из способов, которыми пытаются проникнуть на мои сайты.

Наиболее общий

  • SQL-инъекции, поэтому я проверяю и блокирую пользователей, которые обращаются к моим сайтам с помощью команды "select" в строке URL-адреса. Я также проверяю наличие других команд sql.
  • Забудьте о браузере файлов javascript. Я вижу, что в последнее время они ищут такие ссылки, как: wwwmysite.com/plugins/editors/tinymce/jscripts/tiny_mce/plugins/tinybrowser/tinybrowser.php?type=file&folder=

Чтобы найти их, я отслеживаю событие «Страница не найдена». Конечно, если страница найдена, они проникают. Тем не менее, более вероятно увидеть неудачные попытки и увидеть, что они ищут.

Атака оракула

В эти дни я также вижу множество атак оракулов. Я нахожу их и блокирую полный IP-адрес злоумышленника с помощью этого кода: CryptographicException: заполнение недействительно и не может быть удалено, а проверка MAC состояния просмотра не удалась

Кража куки

Я также слежу за ответами на этот вопрос: Может ли хакер украсть куки-файл у пользователя и войти под этим именем на веб-сайт?
Основные моменты: всегда используйте ssl-шифрование для куки-файлов входа ( requireSSL = true), а не размещать роли для файлов cookie (cacheRolesInCookies = false).

Заблокировать в расширенном режиме

Я также блокирую IP-адреса из черного списка изнутри system / program / iis, но в прошлом я использовал PeerGuardian. Также там вы можете найти множество плохих списков IP, которые вы можете заблокировать заранее. Единственное, что хочу отметить по этим плохим IP-адресам, это то, что я не блокирую их навсегда, а только на несколько дней. Блок плохих IP-адресов помогает мне также с сотней спамерских писем. http://phoenixlabs.org/pg2/

Изучить журнал

Я думаю, что есть много способов, которыми люди могут подумать и попытаться проникнуть на ваш сайт. Дело в том, как вы можете их предсказать и зарегистрировать до того, как это произойдет, и всегда создать лучший механизм, чтобы их избежать. Как я уже сказал, я отслеживаю, что страница не найдена, и внутреннюю ошибку, которую выдает страницы. Эти два метода показывают мне множество попыток проникновения.

Загрузка скриптов.

Если у вас есть доступ к загрузке файлов, изображений и прочего, убедитесь, что они не могут быть запущены в каталоге загрузки. Это можно сделать, дважды проверив расширение файла, а также отключив запуск программ и сценариев в этом каталоге с самого сервера, а также поместив файл web.config в каталог загрузки с помощью:

<configuration>
    <system.web>
      <authorization>
        <deny users="*" />
      </authorization>
    </system.web>
</configuration>

Прочтите один случай: Я был взломан. Загружен злой aspx файл под названием AspxSpy. Они все еще пытаются. Помогите мне поймать их‼

person Aristos    schedule 12.11.2010
comment
Спасибо, это хороший вводный список пунктов, но я надеялся на более конкретный список задач. Например, установка исправлений на ISS6 для предотвращения раскрытия версии IIS и версии .Net. Также такие элементы, как отключение атрибутов отладки и трассировки стека в файле web.config и т. Д. - person Brian Scott; 15.11.2010
comment
@Brian Слишком много вопросов, которые нужно охватить, и слишком мало места в одном ответе, и многие из них уже готовы скрыть в Интернет-руководствах и в книгах. Насчет патча не знаю, чтобы ответить. Теперь, особенно для проникновения и входа на ваш сайт или на компьютер, я думаю, что это основные цели, внедрение sql и забытые лазейки, которые вы можете предотвратить / предсказать, отслеживая ошибки на страницах и страницах, которые не найдены. - person Aristos; 15.11.2010
comment
@Brian Все исправления готовы к установке на IIS6, зачем с ними снова возиться? - person Aristos; 15.11.2010

Контрольный список:

Руководство / контрольный список по безопасности веб-приложений

Кроме того, для тестирования безопасности веб-приложений доступно множество бесплатных инструментов, вы можете попробовать следующие:

  • Netsparker: Netsparker Community Edition - это сканер SQL-инъекций.
  • Websecurify
  • Watcher: Watcher - это надстройка Fiddler, которая помогает тестерам на проникновение в пассивном поиске уязвимостей веб-приложений.
  • Wapiti: сканер уязвимостей веб-приложений / аудитор безопасности
  • N-Stalker
  • skipfish: Skipfish - это активный инструмент разведки безопасности веб-приложений. Он подготавливает интерактивную карту сайта для целевого сайта, выполняя рекурсивное сканирование и поисковые запросы на основе словаря. Результирующая карта затем аннотируется результатами ряда активных (но, надеюсь, не нарушающих работу) проверок безопасности. Итоговый отчет, созданный этим инструментом, призван служить основой для профессиональной оценки безопасности веб-приложений.
  • Scrawlr
  • x5s: x5s - это надстройка Fiddler, призванная помочь тестерам на проникновение в обнаружении уязвимостей межсайтового скриптинга. Его основная цель - помочь вам определить горячие точки, в которых может возникнуть XSS, путем: 1. Обнаружения, где безопасные кодировки не применялись к отправляемым пользовательским вводам. 2. Обнаружение того, где преобразования символов Unicode могут обойти фильтры безопасности. 3. Определение того, где не-кратчайшие кодировки UTF-8 могут обходить фильтры безопасности.
  • Exploit-Me: Exploit-Me - это набор инструментов тестирования безопасности веб-приложений Firefox, предназначенный для легкий и простой в использовании.

Бесплатные инструменты тестирования безопасности веб-приложений

person Kapil Khandelwal    schedule 21.12.2012

Не хочу замаскировать хороший ответ Аристоса ссылкой, но Google выпустил кодовую лабораторию, чтобы показать возможные эксплойты веб-приложений: его (новый), называемый google-gruyere.

Это скорее обучающий способ понять возможные эксплойты, чем контрольный список, но содержание может вам помочь сделать свой контрольный список.

Вот несколько категорий, которые следует учитывать:

  • Cross-Site Scripting (XSS)
    • File Upload XSS
    • Отраженный XSS
    • Сохраненный XSS
    • Сохраненный XSS через атрибут HTML
    • Сохраненный XSS через AJAX
    • Отраженный XSS через AJAX
  • Client-State Manipulation
    • Elevation of Privilege
    • Манипуляции с файлами cookie
  • Подделка межсайтовых запросов (XSRF)
  • Включение межсайтовых скриптов (XSSI)
  • Path Traversal
    • Information disclosure via path traversal
    • Фальсификация данных через обход пути
  • Denial of Service
    • DoS - Quit the Server
    • DoS - перегрузка сервера
  • Выполнение кода (удаленное)
  • Уязвимости конфигурации (раскрытие информации)
  • AJAX vulnerabilities
    • DoS via AJAX
    • Фишинг через AJAX
  • Переполнение буфера и целочисленное переполнение
  • Внедрение SQL
person JoeBilly    schedule 16.11.2010
comment
Я просто смотрю эту ссылку, и она очень интересная. - person Aristos; 17.11.2010