Онлайн-проверка уязвимости Shellshock

Опубликовано: Artem Prysyazhnuk 2014-06-12 все статьи | Глоссарий | ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Проверьте свой сервер на уязвимость

Он разработан для сервера Linux с установленным на нем веб-сервером. Алгоритм очень прост. Мы генерируем 4 http-запроса:

  • 1. Обычный запрос
  • 2. Запрос пытается, используя уязвимость, разместить "вредный" cookie, что вызывает 2-секундную задержку в ответе на наш специальный http-запрос.
  • 3. Запрос пытается, используя уязвимость, разместить "вредный" cookie, что вызывает 4-секундную задержку в ответе на наш специальный http-запрос.
  • 4. То же, что и #3

Как понять результат?

Мы сравниваем время отклика для всех 4 запросов. Возможны три ситуации:

  • 1. Уязвимость найдена. Мы можем утверждать, что если разница в ответах составляет около 2 секунд для запросов без cookie и с cookie с 2-секундной задержкой, а также для запросов с cookie с 2- и 4-секундной задержкой. Это означает, что наш запрос смог использовать уязвимость и установить эти куки.
  • 2. Уязвимость не найдена. Все запросы имеют примерно одинаковое время отклика. Куки, скорее всего, не были установлены из-за отсутствия уязвимости.
  • 3. Неопределенная ситуация. Если время отклика сильно отличается, не совпадая с установленной cookies задержкой, мы не можем сказать наверняка. Это может быть связано с высокой нагрузкой на сервер. Чтобы проверить это, используем два запроса с одинаковыми cookies (#3 и #4). Если время ответа для двух одинаковых запросов разное, делаем вывод, что на время ответа не влияют куки. По крайней мере, не только они. Поэтому в данном случае наш метод не может обнаружить уязвимость.

Безопасность проверок

Наша проверка не может повредить вашему серверу. Риск заключается в появлении одного дополнительного куки, который используется только для наших запросов и не может повлиять на нормальную работу вашего сайта.

 

Тэги: usecase
Генеральный директор и основатель компании HostTracker. Он увлеченный предприниматель с сильным техническим образованием в области F#. Артем работает в индустрии разработки программного обеспечения уже более 20 лет.