Возможно ли заполнение Oracle Attack при ответе 200 OK?
В настоящее время я выполняю тестирование на проникновение приложения ASP.NET и пытаюсь использовать Padding Oracle Attack. Этот AFAIK основан на анализе кода ответа, но и аксоны ScriptResource и WebResource в тестируемой системе всегда отвечают 200 OK, даже если шифр был недействительным. Однако в этом случае содержимое ответа является пустой строкой.
Можно ли использовать какой-либо из аксд в качестве оракула в этом случае? Возможно, исходя из различий в содержании ответа.
3 ответа
Атака Oracle Padding работает, имея возможность различать два случая:
- Серверу не удалось расшифровать данные, поскольку при расшифровке он не нашел должным образом отформатированный отступ.
- Сервер обнаружил правильное заполнение, но расшифрованные данные оказались случайным мусором.
У злоумышленника может быть несколько способов получить такое различие. Конкретный код ошибки с сервера просто использовать; но любой заметной разницы достаточно. Впервые атака была опубликована в 2002 году (да, людям потребовалось 8 лет, чтобы заметить, что она может быть применена к ASP!), И она была продемонстрирована на SSL-соединении только с разницей во времени: сервер расшифровывал данные, и затем проверял MAC только в том случае, если расшифровка прошла нормально; дополнительные 2 мс, полученные при вычислении MAC, были достаточны для того, чтобы злоумышленник узнал, был ли заполнитель допустимым, что позволило напрямую применить атаку Oracle Padding.
Чтобы ответить на исходный вопрос, можно использовать длину контента. Падбастер отмечает код состояния, но я думаю, что он полностью определяет длину ответа.
Чтобы ответить на ваш ответ Трое, длинная длина зашифрованного текста не означает, что они уязвимы. Как правило, короткая длина зашифрованного текста действительно указывает, что они уязвимы, но вам нужно расставить точки по net url, декодировать значение и посмотреть, равен ли модуль 8=0, чтобы увидеть, уязвим ли он. Другими словами, длина будет кратна 8. Обычно я вижу, что один блок зашифрованного текста (16 байт) заканчивается примерно 25 байтами после того, как будет закодирован точечный URL-адрес. Исправление включает в себя HMAC (я думаю), который увеличивает длину и должен сделать невозможным один блок cipertexts. Я не могу сказать это с уверенностью, так как я не уверен, как долго HMAC и работает ли он после заполнения или нет.
Для меня это звучит так, как будто патч отступа был установлен, и в результате вы не получаете ожидаемые коды ошибок. Посмотрите , доверяете ли вы своему хостинг-провайдеру, и действительно ли они установили патч отступа и посмотрите, сможете ли вы это установить.