Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fuzzing исследование уязвимостей методом грубой силы.pdf
Скачиваний:
1127
Добавлен:
13.03.2016
Размер:
5.96 Mб
Скачать

364

Глава 20. Фаззинг оперативной памяти: автоматизация

тов. Нарушение доступа @41414141 означает, что процесс пытался прочитать и выполнить команду от виртуального адреса 0x41414141, но у него ничего не получилось, поскольку ячейка памяти оказались нечитаемой. 0x41 – если вы сами еще не догадались – это шестнадца$ теричное выражение символа формата ASCII «A». Данные, получен$ ные от нашего фаззера, привели к переполнению и к перезаписи адре$ са возврата в стеке. После того как функция, на которой произошло переполнение, вернула выполнение вызывающей программе, про$ изошло нарушение доступа, которое было обнаружено фаззером. Эта уязвимость может быть легко атакована, но не забывайте, что для осу$ ществления атаки на сервер необходимо расшифровать программу ис$ кажения (в действительности вы вряд ли сможете дать клиенту коман$ ду отправлять случайные данные).

Анализ исходного или двоичного кода с целью выявления истинного характера и точной причины этой уязвимости мы оставляем в качест$ ве самостоятельного упражнения для читателей.

Резюме

На протяжении длительного времени мы рассматриваем во многом теоретический и новаторский подход к фаззингу. Теория интересна, а читать о неудачной попытке применить эту теорию на практике – еще интереснее. Тем не менее, рекомендуем нашим читателям скачать тестовые файлы и самостоятельно запустить данный тестовый при$ мер. Вряд ли возможно с помощью такого одностороннего средства связи, как книга, оценить по заслугам наш тестовый экземпляр.

Надеемся, что последние две главы оказали стимулирующее воздейст$ вие на вашу мыслительную деятельность, а может быть, вы даже смог$ ли применить содержание этих глав для решения конкретной пробле$ мы, с которой столкнулись. Платформа PyDbg и контрольные приложе$ ния являются общедоступными, вы можете вносить в них какие угодно изменения. Просто скачивайте их по адресу http://www.fuzzing.org и получайте удовольствие. Как всегда, мы рассчитываем на получение обратной связи – исправлений, сообщений об ошибках, патчей и инфор$ мации об использовании тестовых приложений, – для того чтобы все наши инструменты и проекты оставались современными и динамично развивающимися.

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

III

Расширенные технологии фаззинга

Глава 21. Интегрированные среды фаззинга Глава 22. Автоматический анализ протокола Глава 23. Фаззинговый трекинг Глава 24. Интеллектуальное обнаружение ошибок

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]