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

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

s unity

Green Team
18.09.2019
207
26
BIT
0
Как вы наверняка знаете XSS одна из самых распространённых атак на веб приложения. так вот, я хотел бы пообщаться с знающими людьми, щарящами так сказать. поделиться может быть каким то опытом и так далее. это дело интересное, но что-то информации по этой этой теме совсем мало. в основном люди пишут и говорят "ставь "> и все, пфф делов та", но они или глупы или давно не практиковали xss. даже многие js мастера, с которыми я общаюсь, ничего не могут внятного сказать по этой теме. на этом форуме я уже не раз поднимал вопрос на эту тему, но ответ не изменен
 

Lampa

Green Team
01.09.2020
22
33
BIT
60
Прежде чем пытаться его обойти, надо для начала изучить как работает этот фильтр.
Если ты в этом вообще зеленый, то можешь испытать себя в или в (не реклама), а может и узнать для себя в этом, что то новое.
Тему про 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>
Это довольно тонкая тема и наверное думаю, что если объяснять, то надо только базу, а дальше пытаться понимать как это работает самому.
 

s unity

Green Team
18.09.2019
207
26
BIT
0
Прежде чем пытаться его обойти, надо для начала изучить как работает этот фильтр.
Если ты в этом вообще зеленый, то можешь испытать себя в или в (не реклама), а может и узнать для себя в этом, что то новое.
Тему про 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(). Она все, что вводит пользователь енкодит. Как его обходить не знаю. Конечно много сайтов кривые, с такой защитой как ты описал. И стфки в оснрвном тоже имеют простпнькие уязвимости. То есть найти легко, раскручивать трудно в стфках. Хочется реальные фильтры где все через функцию проходит и символы потенциальные зафильтрованы, вот это уже интересно и требует современных подходов
 
Мы в соцсетях:

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