Admin
Администратор
Иногда бывает, что в ответ на GET запрос в ответе получаем JSON объект, где может храниться чувствительная информация: какие-нибудь данные пользователя или даже CSRF-токен! И если раньше (https://portswigger.net/blog/json-hijacking-for-the-modern-web) мы могли «узнать» эту информацию, то сейчас это стало невозможным.
Однако всегда стоит проверить возможность добавить функцию обратного вызова и получить JSONP объект, который до сих пор можно захайджечить! Пример:
GET /api/user.info?callback=xek HTTP/1.1
Зачастую для вызова обратной функции у меня встречались следующие параметры:
callback
jsonp
cb
jp
А затем уже эксплуатируем обычный JSONP Hijacking, как в примерах ниже:
Кроме того, такую находку можно использовать для обхода CSP
Однако всегда стоит проверить возможность добавить функцию обратного вызова и получить JSONP объект, который до сих пор можно захайджечить! Пример:
GET /api/user.info?callback=xek HTTP/1.1
Зачастую для вызова обратной функции у меня встречались следующие параметры:
callback
jsonp
cb
jp
А затем уже эксплуатируем обычный JSONP Hijacking, как в примерах ниже:
Liberapay disclosed on HackerOne: Exploiting JSONP callback on...
@kapytein submitted a wonderful report describing an XSSI vulnerability in liberapay.com. During the initial review, we thought that the endpoint did not disclose data from profiles that had disabled sharing details on their profiles. However, @kapytein did provide us with additional information...
hackerone.com
Liberapay disclosed on HackerOne: Exploiting JSONP callback on...
@kapytein submitted a wonderful report describing an XSSI vulnerability in liberapay.com. During the initial review, we thought that the endpoint did not disclose data from profiles that had disabled sharing details on their profiles. However, @kapytein did provide us with additional information...
hackerone.com
Кроме того, такую находку можно использовать для обхода CSP