Сегодня в этой статье мы совершим экскурсию по межсайтовому скриптингу и узнаем, как злоумышленник выполняет вредоносные коды JavaScript во входных параметрах и генерирует такие всплывающие окна, чтобы испортить веб-приложение или захватить сеанс активного пользователя.
Что такое JavaScript?
Динамическое веб-приложение стоит на трех столпах: HTML, который определяет полную структуру, CSS, описывает его общий внешний вид, и JavaScript, который просто добавляет мощные взаимодействия с приложением, такие как окна предупреждений, эффекты ролловера и т. Д. выпадающие меню и другие вещи.
Итак, JavaScript является языком программирования в Интернете и считается одним из самых популярных языков сценариев, поскольку около 93% всех веб-сайтов работают с Javascript из-за некоторых из его основных функций, т.е.
· Легко научиться.
· Помогает создавать интерактивные веб-приложения.
· Это единственный язык программирования, который может интерпретироваться браузером, т.е. браузер запускает его, а не отображает.
· Он гибкий, так как просто смешивается с кодами HTML.
Обработчики событий JavaScript
Когда код JavaScript встроен в HTML-страницу, этот JavaScript «реагирует» на некоторые конкретные события, например:
Когда страница загружается, это событие. Когда пользователь нажимает кнопку, это тоже событие. Другие примеры, такие как - нажатие любой клавиши, закрытие окна, изменение размера окна и т. Д. Таким образом, такими событиями управляют некоторые обработчики событий.
Onload
Javascript использует функцию onload для загрузки объекта на веб-страницу. Например, я хочу создать оповещение для пользователей, которые посещают мой веб-сайт; Приведу следующий код JavaScript.
Поэтому всякий раз, когда тег body загружается, появляется предупреждение со следующим текстом «Добро пожаловать в статьи о взломе». Здесь загрузка тега body - это «событие» или событие, а «onload» - это обработчик события, который решает, какое действие должно произойти с этим событием.
При наведении мыши
С обработчиком событий Onmouseover, когда пользователь наводит курсор на определенный текст, будет выполнен встроенный код javascript.
Например, давайте разберемся со следующим кодом:
Теперь, когда пользователь наводит курсор на отображаемый текст на странице, появляется всплывающее окно со скидкой 50%.
Точно так же существует множество обработчиков событий JavaScript, которые определяют, какое событие должно произойти для такого типа действий, как прокрутка вниз или когда изображение не загружается и т. д.
Межсайтовый скриптинг, который часто сокращенно называют «XSS», представляет собой атаку путем внедрения кода на стороне клиента, при которой вредоносные скрипты внедряются на доверенные сайты. XSS встречается в тех веб-приложениях, где входные параметры не очищены или не проверены должным образом, что позволяет злоумышленнику отправлять вредоносные коды Javascript другому конечному пользователю. Браузер конечного пользователя не знает, что этому сценарию нельзя доверять, и поэтому выполнит сценарий.
В этой атаке пользователи не подвергаются прямой атаке с помощью полезной нагрузки, хотя злоумышленник устраняет уязвимость XSS, вставляя вредоносный скрипт на веб-страницу, которая, как представляется, является настоящей частью веб-сайта. Таким образом, когда любой пользователь посещает этот веб-сайт, веб-страница, страдающая от XSS, доставит вредоносный код JavaScript прямо в его браузер без его ведома.
Не знаете, что происходит? Давайте проясним это на следующем примере.
Рассмотрим веб-приложение, которое позволяет пользователям создавать «краткое описание» в своем профиле, который, таким образом, виден всем. Теперь злоумышленник замечает, что поле описания неправильно проверяет вводимые данные, поэтому он внедряет свой вредоносный скрипт в это поле.
Теперь, когда посетитель просматривает профиль злоумышленника, код автоматически запускается браузером и, следовательно, перехватывает аутентифицированные файлы cookie, и на другой стороне злоумышленник будет иметь активный сеанс жертвы.
Что такое JavaScript?
Динамическое веб-приложение стоит на трех столпах: HTML, который определяет полную структуру, CSS, описывает его общий внешний вид, и JavaScript, который просто добавляет мощные взаимодействия с приложением, такие как окна предупреждений, эффекты ролловера и т. Д. выпадающие меню и другие вещи.
Итак, JavaScript является языком программирования в Интернете и считается одним из самых популярных языков сценариев, поскольку около 93% всех веб-сайтов работают с Javascript из-за некоторых из его основных функций, т.е.
· Легко научиться.
· Помогает создавать интерактивные веб-приложения.
· Это единственный язык программирования, который может интерпретироваться браузером, т.е. браузер запускает его, а не отображает.
· Он гибкий, так как просто смешивается с кодами HTML.
Обработчики событий JavaScript
Когда код JavaScript встроен в HTML-страницу, этот JavaScript «реагирует» на некоторые конкретные события, например:
Когда страница загружается, это событие. Когда пользователь нажимает кнопку, это тоже событие. Другие примеры, такие как - нажатие любой клавиши, закрытие окна, изменение размера окна и т. Д. Таким образом, такими событиями управляют некоторые обработчики событий.
Onload
Javascript использует функцию onload для загрузки объекта на веб-страницу. Например, я хочу создать оповещение для пользователей, которые посещают мой веб-сайт; Приведу следующий код JavaScript.
Код:
<body onload=alert(‘Welcome to Hacking Articles’)>
При наведении мыши
С обработчиком событий Onmouseover, когда пользователь наводит курсор на определенный текст, будет выполнен встроенный код javascript.
Например, давайте разберемся со следующим кодом:
Код:
<a onmouseover=alert(“50% discount”)>surprise</a>
Точно так же существует множество обработчиков событий JavaScript, которые определяют, какое событие должно произойти для такого типа действий, как прокрутка вниз или когда изображение не загружается и т. д.
- onclick: Используйте это для вызова JavaScript при нажатии (ссылка или поля формы)
- onload: Используйте это, чтобы вызвать JavaScript после завершения загрузки страницы или изображения.
- onmouseover: Используйте это, чтобы вызвать JavaScript, если мышь проходит по какой-либо ссылке.
- onmouseout: Используйте это, чтобы вызвать JavaScript, если мышь проходит какую-то ссылку.
- onunload: Используйте это для вызова JavaScript сразу после того, как кто-то покинет эту страницу.
Межсайтовый скриптинг, который часто сокращенно называют «XSS», представляет собой атаку путем внедрения кода на стороне клиента, при которой вредоносные скрипты внедряются на доверенные сайты. XSS встречается в тех веб-приложениях, где входные параметры не очищены или не проверены должным образом, что позволяет злоумышленнику отправлять вредоносные коды Javascript другому конечному пользователю. Браузер конечного пользователя не знает, что этому сценарию нельзя доверять, и поэтому выполнит сценарий.
В этой атаке пользователи не подвергаются прямой атаке с помощью полезной нагрузки, хотя злоумышленник устраняет уязвимость XSS, вставляя вредоносный скрипт на веб-страницу, которая, как представляется, является настоящей частью веб-сайта. Таким образом, когда любой пользователь посещает этот веб-сайт, веб-страница, страдающая от XSS, доставит вредоносный код JavaScript прямо в его браузер без его ведома.
Не знаете, что происходит? Давайте проясним это на следующем примере.
Рассмотрим веб-приложение, которое позволяет пользователям создавать «краткое описание» в своем профиле, который, таким образом, виден всем. Теперь злоумышленник замечает, что поле описания неправильно проверяет вводимые данные, поэтому он внедряет свой вредоносный скрипт в это поле.
Теперь, когда посетитель просматривает профиль злоумышленника, код автоматически запускается браузером и, следовательно, перехватывает аутентифицированные файлы cookie, и на другой стороне злоумышленник будет иметь активный сеанс жертвы.