· Установка нужных привилегий пользователь / запрос в MySQL предотвращает вызов из запросов запрещенных функций, например функций доступа к файлам.
Инструментарий обработки непредвиденных данных
· Программа Web Sleuth используется для взаимодействия и работы с Web-приложениями, предоставляя различные механизмы обхода и взлома протокола HTTP. Программа CGIAudit автоматически находит известные уязвимости интерфейса CGI.
· Программы RATS и Flawfinder просматривают исходные тексты программ, выявляя в них потенциально опасные места.
· Коммерческие продукты Retina и Hailstorm предназначены для методического зондирования и провоцирования сетевых приложений для обнаружения уязвимостей и возможности их использования.
· Прокси-HTTP Pudding маскирует запросы HTTP при помощи различных форм кодирования URL, включая сверхдлинное кодирование Unicode/UTF-8.
Часто задаваемые вопросы
Вопрос:
Стоит ли заботиться о проверке и фильтрации входных данных?Ответ:
Вопрос:
Какой язык программирования самый безопасный? Ответ: На этот вопрос нельзя ответить однозначно. В языках Perl and PHP реализована прекрасная возможность автоматического распределения памяти, которая позволяет разместить в памяти любое количество входных данных. Но написанные на этих языках программы плохо масштабируются из-за того, что они выполняются в режиме интерпретации. Языки программирования C/C ++ требуют от разработчика принятия дополнительных мер по обеспечению безопасности. Но написанные на языках C/C ++ программы компилируются в выполнимый код, который работает быстрее и лучше масштабируется. Окончательный выбор языка должен быть основан на предъявляемых к приложению требованиях и навыках программиста работы со средствами разработки.Вопрос:
Где можно найти дополнительные сведения об аудите исходного текста программ? Ответ: В книгеГлава 8 Переполнение буфера
В этой главе обсуждаются следующие темы:
• Стек
• Стековый фрейм функции
• Основы переполнения буфера
• Пример программы, уязвимой к переполнению буфера
• Современные способы переполнения буфера
• Новаторские принципы построения программного кода полезной нагрузки
· Резюме
· Конспект
· Часто задаваемые вопросы
Введение
Большинство известных на сегодняшний день уязвимостей основаны на переполнении буфера. Благодаря нему возможна значительная часть удаленного использования программ в злонамеренных целях. Если в результате атаки буфер переполнится, то квалифицированный злоумышленник сможет запустить любую программу с правами атакованного процесса. Атаки на буфер часто используются для внедрения злонамеренной программы с функциями командного процессора.
Переполнение буфера – непредсказуемая ситуация, которая возникает в программах, написанных на разных языках программирования. В этой главе будут подробно рассмотрены причины возникновения переполнения буфера, способы выявления основанных на нем уязвимостей и принципы написания программ, извлекающих из него пользу.
Эта глава разделена на две части: для новичка и для квалифицированного читателя. Если читатель знаком с переполнением буфера и понимает, как им можно воспользоваться, то он может пропустить раздел для новичка. Но в любом случае рекомендуется просмотреть материал, предназначенный для квалифицированного читателя. Некоторые из вошедших в него способов входили в арсенал средств злоумышленников, например использовались при создании червя Code Red.
Стек