2016-08-18 6 views
1

Я прошел через этот link, чтобы понять, как атака HPP (HTTP Parameter Pollution).Разница между CSRF и HPP (Загрязнение параметров HTTP)?

В атаках HPP похоже, что атакующий изменяет параметры HTTP и отправляет измененный URL-адрес жертве. Разве это не так, как атаки CSRF? Если нет, кто-нибудь скажет мне, в чем разница между CSRF & ГЭС?

ответ

1

HTTP-параметр Загрязнение - это когда ваше приложение делает обратный HTTP-запрос другой системе, и эти параметры могут управляться путем ввода в основное приложение. HPP определяется тем фактом, что злоумышленник вызывает дублирующее имя параметра для обратного запроса, что переопределяет значение параметра, явно переданное приложением. Аналогичная уязвимость, HTTP-параметр Injection определяется злоумышленником, добавляющим новый параметр к внутреннему запросу, который интерпретируется другой системой. Таким образом, HPI вызывает добавление нового параметра, тогда как HPP приводит к игнорированию или интерпретации существующего параметра по-новому.

См. my answer here для твердого примера ГЭС.

CSRF не требует какого-либо внутреннего HTTP-запроса. Это предварительный запрос, но сделанный жертвой без их ведома. В основном это означает, что вредоносный запрос выполняется с использованием браузера жертвы и файлов cookie авторизации жертвы. Это может быть как простой, как скрытое изображение на странице злоумышленника:

<img src="https://bank.example.com/transfer_money?toAmount=999&toAccount=12345678" /> 

Это будет срабатывать каждый раз, когда жертва посещает страницу атакующего (например, после ссылки по электронной почте к ним, или что-то разместил на форуме).

См. my answer here для другого примера с использованием метода POST.

Иногда уязвимость в HPP может быть использована с помощью CSRF. Например, тот, который требует, чтобы жертва была зарегистрирована в системе, которая может быть использована через ГЭС. например POST до https://www.example.com/transferMoney.php может быть произведен сайтом злоумышленника, передавая параметр POST toAccount=9876, в результате чего жертва передает деньги на несанкционированную учетную запись, используя их файл cookie для авторизации для www.example.com.

Что касается статьи в вашем вопросе, я не думаю, что это реалистичная атака HPP, потому что любые действия, которые вызывают изменение состояния, должны быть реализованы с помощью метода POST, а не ссылки GET, как показывает статья, Фактически вы получаете ссылку на действие, которая строится на текущей странице (но эй, все возможно). Вот почему на практике ГЭС действительно больше обращается к обратным запросам.

+0

Спасибо за разъяснение. Как вы сказали, HPP может быть использована через CSRF. Поэтому я предполагаю, что если у нас есть надлежащие механизмы защиты CSRF, злоумышленники не смогут обмануть пользователей для выполнения ГЭС. Но фильтры CSRF не будут препятствовать ситуациям, упомянутым в ваших примерах HPP, где фактический злоумышленник является пользователем, который его использует. – SSB

+0

Исправить. ГЭС - это когда параметры «загрязнены», имея дубликаты, которые интерпретируются непреднамеренно. В другом ответе не упоминается этот ключевой факт. – SilverlightFox

1

Из того, что описывает связанная статья, кажется, что HPP является специфическим типом инъекционной атаки, в которой вы изменяете параметры запроса, чтобы изменить содержимое возвращенной страницы. В некотором смысле, это более обобщенная версия отраженной атаки XSS; в то время как с XSS вы пытаетесь внедрить и запустить вредоносный javascript посредством вмешательства в запрос, в HPP вы пытаетесь изменить любые данные (в приведенном примере, данные, используемые для создания URL-адресов), чтобы вводить вредоносные данные.

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

Нет ничего, что помешало бы злоумышленнику использовать атаку HPP или XSS с атакой CSRF. Атака XSS или HPP использует недостаток проверки в обработке пользовательского ввода, который позже возвращается как часть ответа, в то время как атака CSRF использует преимущество «прерывания последовательности» в потоке приложения, чтобы вызвать непреднамеренное поведение.

+0

Спасибо, что нашли время и ответили на проблему. – SSB

+0

HPP означает создание запроса с повторяющимися параметрами, который обманывает ответное приложение для обработки дубликата злоумышленника, а не оригинала. Я тоже ответил, чтобы, надеюсь, прояснить ситуацию. – SilverlightFox

 Смежные вопросы

  • Нет связанных вопросов^_^