• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Обход фильтров xss

s unity

Green Team
18.09.2019
207
26
BIT
0
Как вы наверняка знаете XSS одна из самых распространённых атак на веб приложения. так вот, я хотел бы пообщаться с знающими людьми, щарящами так сказать. поделиться может быть каким то опытом и так далее. это дело интересное, но что-то информации по этой этой теме совсем мало. в основном люди пишут и говорят "ставь "> и все, пфф делов та", но они или глупы или давно не практиковали xss. даже многие js мастера, с которыми я общаюсь, ничего не могут внятного сказать по этой теме. на этом форуме я уже не раз поднимал вопрос на эту тему, но ответ не изменен
 
Прежде чем пытаться его обойти, надо для начала изучить как работает этот фильтр.
Если ты в этом вообще зеленый, то можешь испытать себя в или в (не реклама), а может и узнать для себя в этом, что то новое.
Тему про xss можно обсуждать хоть целый день и приводить множество примеров.
В какой-то минимальной мере они правы, подобное обычно срабатывает когда данные передаются в Js. Например если есть код на странице, который будет с фильтром < и > + без фильтра кавычек выводить ответ:
JavaScript:
var writed = document.getElementById("div_id");
writed.innerHTML="My text!";
и наш запрос будет:
HTML:
Push!"+document.cookie+"
То при следующем получении код будет выполнен и код будет выглядеть вот так:
JavaScript:
writed.innerHTML = "Push!"+document.cookie+"";

Опять же, сработает это или нет, тоже зависит от того, как работает фильтр.
Эта кавычка может превратиться в спец символ, что помогло бы избежать выше описанного варианта. В таком случае можно кавычки, отправить в виде спец символа
Код:
&#60;div&#62;block&#60;/div&#62;
, если фильтр не работает против такого, то в ответ передаст как читаемый html тег.
Код:
<div>block</div>
Это довольно тонкая тема и наверное думаю, что если объяснять, то надо только базу, а дальше пытаться понимать как это работает самому.
 
Прежде чем пытаться его обойти, надо для начала изучить как работает этот фильтр.
Если ты в этом вообще зеленый, то можешь испытать себя в или в (не реклама), а может и узнать для себя в этом, что то новое.
Тему про xss можно обсуждать хоть целый день и приводить множество примеров.
В какой-то минимальной мере они правы, подобное обычно срабатывает когда данные передаются в Js. Например если есть код на странице, который будет с фильтром < и > + без фильтра кавычек выводить ответ:
JavaScript:
var writed = document.getElementById("div_id");
writed.innerHTML="My text!";
и наш запрос будет:
HTML:
Push!"+document.cookie+"
То при следующем получении код будет выполнен и код будет выглядеть вот так:
JavaScript:
writed.innerHTML = "Push!"+document.cookie+"";

Опять же, сработает это или нет, тоже зависит от того, как работает фильтр.
Эта кавычка может превратиться в спец символ, что помогло бы избежать выше описанного варианта. В таком случае можно кавычки, отправить в виде спец символа
Код:
&#60;div&#62;block&#60;/div&#62;
, если фильтр не работает против такого, то в ответ передаст как читаемый html тег.
Код:
<div>block</div>
Это довольно тонкая тема и наверное думаю, что если объяснять, то надо только базу, а дальше пытаться понимать как это работает самому.
Далеко я не зеленый, и то что ты написал это не фильтр, это фигня. Сейчас актуален фильтр функция encodeURIComponent(). Она все, что вводит пользователь енкодит. Как его обходить не знаю. Конечно много сайтов кривые, с такой защитой как ты описал. И стфки в оснрвном тоже имеют простпнькие уязвимости. То есть найти легко, раскручивать трудно в стфках. Хочется реальные фильтры где все через функцию проходит и символы потенциальные зафильтрованы, вот это уже интересно и требует современных подходов
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!