PDA

Просмотр полной версии : XSS Уязвимость. Часть 1


nks1ck
02.04.2021, 01:08
Приветствую, в этой статье хочу детально описать XSS-Уязвимость.

Данная серия мини-статей будет направлена именно на практику.

Но начнем немного с теории:
Что такое XSS?
XSS (англ. Cross-Site Scripting - "Межсайтовый скриптинг") - это внедрение вредоносного кода на страницу сайта. Когда вредоносный код выполняется в браузере жертвы, злоумышленник может полностью скомпрометировать пользователя.

Какие бывают типы XSS?

Reflected XSS - вредоносный скрипт исходит из текущего HTTP-запроса.

DOM-Based XSS - уязвимость существует в коде на стороне клиента, а не на стороне сервера

Stored XSS - вредоносный код внедряется в бд/сервер.
Бывают активные и пассивные XSS:

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

Пассивный- переход по ссылки, нажатие не на ту кнопку и т.п. Тут уже нужны навыки социальный инженерии.
В первой части поговорим о Reflected XSS:
Reflected XSS - самая простая XSS-Уязвимость. Данный уязвимость возникает, когда данные, которые передаются в url запросе никак не проверяются. Пример:

Злоумышленник внедряет в url вредоносный код, позволяющий просматривать куки файлы и т.п., и отправляет жертве.

При переходе по ссылке пользователь может ничего и не заметить, но его куки украдут.

Код отправляет куки злоумышленнику, а дальше уже сами понимаете что происходит.


Код:



https://mywebsite.com/article?id=2.


Код страницы:

Код:



Статья №2


А что будет, если мы попробуем вставить простейший

alert()

?

Код:



https://mywebsite.com/article?id=alert()


Перейдем по такому url и увидим всплывающее окно.

Код страницы после внедрения:

Код:



Статья: alert()


Попробуем решить лабу на с WebSecurityAcademy.

У нас есть вот такой сайтик

https://forum.antichat.xyz/attachments/4904284/1617309018778.png

Пробуем вести рандомное значение в поле поиска и можем увидеть уже знакомую картину

https://forum.antichat.xyz/attachments/4904284/1617309152661.png

Есть какой-то параметр search, в который подставляется значение из строки поиска.

Пробуем вставить простейший пейлоад

alert()


https://forum.antichat.xyz/attachments/4904284/1617309253873.png

Получаем вот такую картину. Мы успешно использовали простейшую XSS-Уязвимость, а значит сюда можно вставить и более опасный/вредоносный код, например украсть куки

В данной статье мы разобрали самую простую XSS-Уязвимость. Дальше будет только интереснее и сложнее.

Площадки для практики

PortSwiggerAcademy

Forkbomb

XSS game
P.S. Этого хватит для начала, конечно же площадок помимо этих очень много

Теория

XSS-Payloads

Что такое XSS-Уязвимость

Эффективный поиск XSS
Не используйте полученные знания из данной серии курсов на реальных сайтах ( баг баунти не в счет )

curl
04.04.2021, 18:40
Хорошо!
Продолжай в том же духе