Что такое XSS, или чем опасен JavaScript на сайте?

Что такое XSS, или чем опасен JavaScript на сайте?

https://t.me/E7TEAM

Всем доброго времени суток, с вами команда E7TEAM


Введение:

Иногда на сайтах требуется разрешить пользовательский ввод, например это может быть в: имени, описании аккаунта, посте и т.д

Казалось бы, что здесь может быть опасного? Если ввод не фильтруется, то много чего!

Начнем из далека. Большинство сайтов чтобы не заставлять пользователей входить с одного устройства много раз используют так называемые cookie.

Что такое cookie?

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

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

Основное:

Причем тут JavaScript и что такое XSS?

JavaScript — язык программирования который обрабатывается браузером чтобы выполнять определенные действия.

XSS — атака, при которой атакующий помещает свой JavaScript код на страницу. При посещении страницы пользователем, браузер исполняет этот код.

JavaScript может получать cookie от браузера и отправлять запросы на сторонние сайты. Что это значит?

Если атакующий может поместить свой JavaScript код, то он может получить cookie и отправить их на свой сервер!

А так как cookie используется для входа в аккаунт, то атакующий может взять контроль над учётной записью! Давайте посмотрим на атаку на практике.

Перейдем на http://www.xssgame.com/

Логинимся в гугл аккаунт и вводим в поле поиска <scirpt>alerr(1)</script>.

Нажимаем поиск и получаем объявление от сайт "1". Поздравляю наше первое XSS!

XSS


Конечно в данном случае перехватывать нечего, но!

Найдя JavaScript на реальном сайте можно использовать данный скрипт: https://github.com/R0B1NL1N/WebHacking101/blob/master/xss-reflected-steal-cookie.md

Запускаем свой веб-сервер и публикуем пэйлоад из гитхаба.

2017-02-09 10:05 PM - 192.168.0.254 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:51.0) Gecko/20100101 Firefox/51.0
------------------------------------------------------------------------------------------------------------------
Cookie Name   Value
------------------------------------------------------------------------------------------------------------------
acopendivids   ['swingset,jotto,phpbb2,redmine']
security   ['low']
acgroupswithpersist   ['nada']
PHPSESSID   ['93l9ahf1120bkp79t5ehbkc0m4']


Вот так выглядит перехват cookie, что делать после получения?

Нам нужно подменить свои cookie, сделать это можно с помощью специальных расширений для браузера, просто сделайте поиск по cookie в расширениях и вместо своих куки поставьте перехваченные!

Так мы и получаем контроль над учётной записью.

Заключение:

Никогда нельзя доверять вводу пользователя. С помощью ввода без фильтров можно перехватить учётную запись другого пользователя, или что хуже администратора.

Report Page