Скриптинг это: Межсайтовый скриптинг — Википедия – что такое межсайтовый скриптинг, как он работает

Межсайтовый скриптинг | Контроль Разума

XSS (англ. Сross Site Sсriрting — «межсайтовый скриптинг») — тип уязвимости компьютерной системы, используется при хакерской атаке. Специфика подобных атак заключается в том, что вместо непосредственной атаки сервера, они используют уязвимый сервер в качестве средства атаки на клиента. XSS-атака обычно проводится путём конструирования специального URL, который атакующий предъявляет своей жертве.

Иногда для термина используют сокращение «CSS», но чтобы не было путаницы с каскадными таблицами стилей, используют сокращение «XSS».

Условно XSS можно разделить на активные и пассивные:

  • пассивные XSS подразумевают, что скрипт не хранится на сервере уязвимого сайта, либо он не может автоматически выполниться в браузере жертвы. Для срабатывания пассивной XSS, требуется некое дополнительное действие, которое должен выполнить браузер жертвы (например клик по специально сформированной ссылке). Их также называют первым типом XSS.
  • при активных XSS вредоносный скрипт хранится на сервере, и срабатывает в браузере жертвы, при открытии какой-либо страницы зараженного сайта. Их также называют вторым типом XSS;
  • Часто в отдельный тип выделяют межсайтовый скриптинг через DOM, являющийся пассивным, но использующим уязвимости в клиентских скриптах. Его так же называют третим или нулевым типом.[1]

Сейчас XSS составяют около 15 % всех обнаруженных уязвимостей[2]. Долгое время программисты не уделяли им должного внимания, считая их неопасными. Однако, это мнение ошибочно: в некоторых случаях с помощью XSS удаётся получить идентификатор сессии администратора или организовать DDOS атаку.

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

    Отсутствие фильтрации html тегов в сообщениях пользователей Править

    Некоторые форумы позволяют пользователю использовать html теги для форматирования текста. Если отсутствует должный уровень фильтрации, злонамеренный пользователь может вставить такие теги, как <script> и <iframe> так, что HTTP-Cookie пользователей и администраторов, открывших некоторую тему форума, будут отправлены хакеру, или незаметно открыть произвольную ссылку в контексте браузера пользователя.

    Для защиты от этого вида атак следует удалить все теги, кроме входящих в белый список.

    Отсутствие фильтрации атрибутов и их значений разрешённых тегов Править

    Данная уязвимость, в отличие от предыдущей, не специфична для html форматирования сообщений пользователя. Наиболее ярким примером её является тег img. Хакер может указать в качестве адреса сервер, имеющий узкий интернет канал, парализуя его работу большим количеством запросов, или устроить с его помощью XSRF атаку. Так же хакер может указать атрибут onmouseover и выполнить произвольный javascript код.

    В качестве примера подобной уязвимости можно рассмотреть уязвимость в известном форумном движке phpBB за 2002 год.[3][4] Используя эту уязвимость, хакер может закрыть атрибут src и открыть onmouseover, вызывающий вредоносный код.

    Для защиты от уязвимостей данного типа требуется жёсткая фильтрация, названий атрибутов, так и их значений. Так же следует запретить использование протоколов javascript: и data: во всех ссылках.

    Подмена кодировки в заголовке страницы Править

    Современные браузеры пытаются определить кодировку страницы на ходу и интерпретируют html в соответствии с этой кодировкой. В случае, если тег title расположен до тега meta и заполняется пользовательскими данными, хакер может вставить злокачественный html код в UTF-7 кодировке, обойдя таким образом фильтрацию таких символов, как < и «. [5][6]

    Для защиты от данной уязвимости следует явно указывать кодировку страницы до каких-либо пользовательских данных.

    Другие примеры Править

    Существует также возможность обхода фильтра javascript через пользовательскую flash анимацию. Подробности можно почитать на eyeonsecurity.org.[7]

    К другим необычным типам XSS атак относятся самодостаточные XSS.

    [8]

    1. ↑ http://www.securitylab.ru/analytics/275087.php
    2. ↑ По данным secuitylab.ru 15,37 % за второй квартал 2008 и 16,57 % за первый квартал 2008
    3. ↑ http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-0902 (англ.)
    4. ↑ http://seclists.org/bugtraq/2002/May/0243.html (англ.)
    5. ↑ http://old.antichat.ru/txt/utf7/
    6. ↑ http://openmya.hacker.jp/hasegawa/security/utf7cs.html (англ.)
    7. ↑ http://eyeonsecurity.org/papers/flash-xss.htm (англ.)
    8. ↑ http://www.securitylab.ru/analytics/274302.php
    ar:برمجة عبر مواقع

    cs:Cross-site scripting de:Cross-Site Scripting en:Cross-site scripting es:XSS et:XSS fa:حملات تزریق کد fi:Cross site scripting fr:Cross site scripting he:XSS it:Cross-site scripting ja:クロスサイトスクリプティング lt:XSS lv:XSS nl:Cross-site scripting no:Cross Site Scripting pl:Cross-site scripting sk:Cross-site scripting sv:Cross site scripting tr:Cross site scripting vi:Xss zh:跨網站指令碼

    Что такое межсайтовый скриптинг, и какое нам до него дело?

  1. Погружение в тестирование. Jedi point

    Начало: 23 марта 2020

  2. Техники локализации плавающих дефектов

    Начало: 23 марта 2020

  3. Логи как инструмент тестировщика

    Начало: 23 марта 2020

  4. Тестирование REST API

    Начало: 23 марта 2020

  5. Python для начинающих

    Начало: 25 марта 2020

  6. Chrome DevTools: Инструменты тестировщика

    Начало: 26 марта 2020

  7. SQL: Инструменты тестировщика

    Начало: 26 марта 2020

  8. Азбука IT

    Начало: 26 марта 2020

  9. Консольные утилиты Android: инструменты тестировщика

    Начало: 26 марта 2020

  10. Git: инструменты тестировщика

    Начало: 26 марта 2020

  11. Командная строка: инструменты тестировщика

    Начало: 26 марта 2020

  12. Практикум по тест-дизайну 2.0

    Начало: 27 марта 2020

  13. Selenium IDE 3: стартовый уровень

    Начало: 27 марта 2020

  14. Тестирование юзабилити (usability)

    Начало: 1 апреля 2020

  15. Школа тест-менеджеров v. 2.0

    Начало: 1 апреля 2020

  16. Тестирование производительности: JMeter 5

    Начало: 3 апреля 2020

  17. Программирование на C# для тестировщиков

    Начало: 3 апреля 2020

  18. Школа для начинающих тестировщиков

    Начало: 9 апреля 2020

  19. Автоматизация функционального тестирования

    Начало: 10 апреля 2020

  20. Тестирование веб-приложений 2.0

    Начало: 10 апреля 2020

  21. Английский для тестировщиков

    Начало: 13 апреля 2020

  22. Комплексная система подготовки к сертификации ISTQB FL (КСП ISTQB)

    Начало: 13 апреля 2020

  23. Автоматизатор мобильных приложений

    Начало: 15 апреля 2020

  24. Тестирование мобильных приложений

    Начало: 15 апреля 2020

  25. Тестирование безопасности

    Начало: 15 апреля 2020

  26. Selenium WebDriver: полное руководство

    Начало: 17 апреля 2020

  27. Программирование на Java для тестировщиков

    Начало: 17 апреля 2020

  28. Первый Онлайн ИНститут Тестировщиков

    Начало: 20 апреля 2020

  29. Школа Тест-Аналитика

    Начало: 22 апреля 2020

  30. Организация автоматизированного тестирования

    Начало: 24 апреля 2020

  31. Программирование на Python для тестировщиков

    Начало: 24 апреля 2020

  32. SQL для тестировщиков
  33. Межсайтовый скриптинг Википедия

    XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного а (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого а с веб-сервером злоумышленника. Является разновидностью атаки «Внедрение а».

    Специфика подобных атак заключается в том, что вредоносный может использовать авторизацию пользователя в веб-системе для получения к ней расширенного доступа или для получения авторизационных данных пользователя. Вредоносный может быть вставлен в страницу как через уязвимость в веб-сервере, так и через уязвимость на компьютере пользователя[1].

    Для термина используют сокращение «XSS», чтобы не было путаницы с каскадными таблицами стилей, использующими сокращение «CSS».

    XSS находится на третьем месте в рейтинге ключевых рисков Web-приложений, согласно OWASP 2013[2]. Долгое время программисты не уделяли им должного внимания, считая их неопасными. Однако это мнение ошибочно: на странице или в HTTP-Cookie могут быть весьма уязвимые данные (например, идентификатор сессии администратора или номера платёжных документов), а там, где нет защиты от CSRF, атакующий может выполнить любые действия, доступные пользователю. Межсайтовый скриптинг может быть использован для проведения DoS-атаки

    [3].

    Справочная информация[ | ]

    Безопасность в Интернете обеспечивается с помощью многих механизмов, в том числе важной концепцией, известной как правило ограничения домена. Это правило разрешает сценариям, находящимся на страницах одного сайта (https://mybank.example.com), доступ к методам и свойствам друг друга без ограничений, но предотвращает доступ к большинству методов и свойств для страниц другого сайта (https://othersite.example.com) (недоступная ссылка)[4].

    Межсайтовый скриптинг использует известные уязвимости в web-приложениях, серверах (или в системных плагинах, относящихся к ним). Используя одну из них, злоумышленник встраивает вредоносный контент в содержание уже взломанного сайта. В результате пользователь получает объединенный контент в веб-браузере, который был доставлен из надежного источника, и, таким образом, действует в соответствии с разрешениями, предоставленными для этой системы. Сумев внедрить необходимый скрипт в веб-страницу, злоумышленник может получить повышенные привилегии в отношении работы с веб-страницами, cookies и другой информацией, хранящейся в браузере для данного пользователя.

    Выражение «межсайтинговый скриптинг» первоначально означало взаимодействие уязвимого веб-приложения с сайтом злоумышленника таким образом, чтобы в контексте атакуемого домена был выполнен JavaScript-, подготовленный злоумышленником (отражённая или хранимая XSS уязвимость). Постепенно опред

    Скриптова мова — Вікіпедія

    Матеріал з Вікіпедії — вільної енциклопедії.

    Скриптова мова (англ. scripting language) — мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп’ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (

    batch languages або job control languages). Сценарії зазвичай інтерпретуються, а не компілюються.

    У прикладній програмі, сценарій (скрипт) — це програма, яка автоматизує деяке завдання, яке без сценарію користувач робив би вручну, використовуючи інтерфейс програми. Мови таких скриптів спочатку орієнтувалися на використання як внутрішні керуючі мови у складних системах. Багато хто з них, проте, вийшли за межі сфери свого початкового застосування і використовуються нині в зовсім інших областях. Характерними особливостями даних мов є, по-перше, їх інтерпретованість (компіляція або неможлива, або небажана), по-друге, простий синтаксис, а по-третє, легка розширюваність. Таким чином, вони ідеально підходять для використання в часто змінюваних програмах, дуже невеликих програмах або у випадках, коли для виконання операторів мови витрачається час, незрівнянний із часом їх розбору.

    Будування розширень програм[ред. | ред. код]

    Для написання призначених розширень користувача можуть використовуватися як плагіни, так і скрипти. Скриптова мова використовується переважно в таких випадках:

    • Якщо потрібно забезпечити програмовість без ризику дестабілізувати систему. Оскільки, на відміну від плагінів, скрипти інтерпретуються, а не компілюються, неправильно написаний скрипт виведе діагностичне повідомлення, а не приведе систему до краху.
    • Якщо важливий виразний код. По-перше, чим складніша система, тим більше коду доводиться писати «тому, що це потрібно». По-друге, в скриптовій мові може бути зовсім інша концепція програмування, ніж в основній програмі — наприклад, гра може бути монолітним однопотоковим застосунком, тоді як скрипти, що керують персонажами, виконуються паралельно. По-третє, скриптова мова має власний проблемно-орієнтований набір команд, і один рядок скрипта може робити те ж, що кілька десятків рядків на традиційній мові. Як наслідок, на скриптовій мові може писати програміст дуже низької кваліфікації — наприклад, геймдизайнер своїми руками, не покладаючись на програмістів, може коректувати правила гри.
    • Якщо потрібна крос-платформовість. Хорошим прикладом є JavaScript — його виконують браузери під найрізноманітнішими ОС.

    З іншого боку, оскільки скрипти інтерпретуються з початкового коду динамічно при кожному виконанні, вони виконуються зазвичай значно повільніше за готові програми, що відтранслюють в машинний код на етапі компіляції. Тому скриптові мови не застосовуються для написання програм, що потребують оптимальності і швидкості виконання. Але через простоту вони часто застосовуються для написання невеликих, одноразових («проблемних») програм.

    Також в плані швидкодії скриптові мови можна розділити на мови динамічного розбору (sh, command.com) і передкомпільовані (Perl). Мови динамічного розбору прочитують інструкції з файлу програми мінімально потрібними блоками, і виконують ці блоки, не читаючи подальший код. Передкомпільовані мови спочатку прочитують всю програму, компілюють її всю або в машинний код, або байт-код, або в якийсь внутрішній формат, і лише потім виконують отриманий код.

    Універсальні скриптові мови[ред. | ред. код]

    Вбудовані в прикладні програми[ред. | ред. код]

    Командні оболонки[ред. | ред. код]

    Мови з можливістю інтеграції[ред. | ред. код]

Добавить комментарий

Ваш адрес email не будет опубликован.