Немного неортодоксальный вопрос здесь:
В настоящее время я пытаюсь разбить Apache с помощью нескольких настраиваемых модулей.
Что порождает тестирование, так это то, что Apache внутренне пересылает запросы, которые он считает слишком большими (например, мусор 1 МБ), к соответствующим образом подключенным к ним модулям, заставляя их работать с данными мусора - и отсутствие обработки в пользовательских модулях вызвало Apache в его цель - подняться в огне. Ой, ой, ой.
Эта конкретная проблема, к счастью, была исправлена, но возник вопрос о том, могут ли быть другие подобные уязвимости.
Сейчас у меня есть инструмент, который позволяет мне отправлять необработанный HTTP-запрос на сервер (точнее, необработанные данные через установленное TCP-соединение, которое может быть интерпретировано как HTTP-запрос, если оно соответствует форме одного, например "GET..." ), и я пытаюсь придумать другие идеи. (Атаки уровня TCP, такие как Slowloris и Nkiller2, на данный момент не являются моей целью).
Есть ли у кого-нибудь интересные идеи, как сбивать серверные пользовательские модули с точки зрения самосожжения сервера?
- Разбитый UTF-8? (Хотя я сомневаюсь, что Apache заботится о кодировании - я думаю, это просто жонглирует сырыми байтами.)
- Материал, который только слишком длинный, за ним следует 0-байтовый, а затем мусор?
- et cetera
Я не считаю себя очень хорошим тестером (я делаю это по необходимости и нехватке рабочей силы, у меня, к сожалению, нет даже элементарного понимания внутренних возможностей Apache, которые мне помогли бы), что почему я надеюсь на проницательный ответ или два или три. Возможно, некоторые из вас провели аналогичное тестирование для ваших собственных проектов?
(Если stackoverflow не подходит для этого вопроса, я извиняюсь. Не уверен, куда еще его поместить.)