Учебная задача по XSS: параметр q попадает в атрибут value, а фильтр экранирует < и >, но не кавычки.
🌙
Пятничный XSS Challenge — сможешь обойти фильтр? 😈
Сегодня небольшая задачка для тех, кто изучает Web Pentest.
Представим, что во время тестирования учебного веб-приложения ты обнаружил интересное поведение.
Есть страница:
https://lab.example/search?q=hello
Параметр
q отражается в HTML-ответе сервера.
Посмотрим на исходный код:
<input type="text" value="hello">
При этом разработчики добавили простенький фильтр:
🔹 Символы
< и
> заменяются на HTML-сущности
< и
>.
🔹 Двойные кавычки
" остаются без изменений.
🔹 Значение параметра
q вставляется непосредственно в атрибут
value.
🎯 Твоя задача:
1️⃣ Можно ли здесь добиться выполнения JavaScript?
2️⃣ Какой payload ты бы попробовал в первую очередь?
3️⃣ Потребуется ли действие пользователя или код выполнится автоматически?
4️⃣ Как правильно исправить эту уязвимость?
Условия:
— Это учебная лаборатория.
— CSP отсутствует.
— Дополнительной фильтрации нет.
— Можно управлять только параметром
q.
Пишите свои варианты payload в комментариях. Посмотрим, кто первым найдёт рабочее решение.
Завтра опубликую разбор с объяснением, почему экранирование
< и
> не всегда спасает от XSS.
#практика
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖