> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/web/xss.md).

# Межсайтовый скриптинг (XSS)

Межсайтовый скриптинг, отражённый XSS, хранимый XSS, DOM XSS, обход CSP, выход из песочницы AngularJS, кража cookie и перехват учётных данных.

Заметки по XSS для лабораторных работ PortSwigger Web Security Academy, сфокусированные на практических шагах тестирования, проверке с помощью Burp Suite, поведении полезной нагрузки и рабочем процессе эксплуатации.

## Процесс тестирования

1. Определите уязвимую функцию и соответствующий запрос, параметр, заголовок, cookie или sink на стороне браузера.
2. Воспроизведите поведение в Burp Suite с минимальной полезной нагрузкой, прежде чем усиливать атаку.
3. Подтвердите влияние с помощью наглядного доказательства концепции, например доступа к аккаунту, раскрытия данных, выполнения кода, SSRF или изменения состояния.
4. Оставляйте полезные нагрузки, URL, токены и учётные данные лаборатории без изменений, документируя путь эксплуатации.

## Лаборатории

<table><thead><tr><th data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/ru/web/xss/angularjs-sandbox-escape-with-csp.md">Выход из песочницы AngularJS с CSP</a></td></tr><tr><td><a href="/ru/web/xss/angularjs-sandbox-escape-without-strings.md">Выход из песочницы AngularJS без строк</a></td></tr><tr><td><a href="/ru/web/xss/cookie-theft-via-xss.md">Кража cookie через XSS</a></td></tr><tr><td><a href="/ru/web/xss/dom-xss-in-href-attribute-with-jquery-location-search.md">DOM XSS в атрибуте href с jQuery и location.search</a></td></tr><tr><td><a href="/ru/web/xss/dom-xss-in-angularjs-with-encoded-angle-brackets-and-quotes.md">DOM XSS в AngularJS с закодированными угловыми скобками и кавычками</a></td></tr><tr><td><a href="/ru/web/xss/dom-xss-with-innerhtml-and-location-search.md">DOM XSS с innerHTML и location.search</a></td></tr><tr><td><a href="/ru/web/xss/dom-xss-with-jquery-hashchange-event.md">DOM XSS с jQuery и hashchange</a></td></tr><tr><td><a href="/ru/web/xss/password-capture-via-xss.md">Перехват пароля через XSS</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-in-a-javascript-string-with-html-encoded-angle-brackets.md">Отражённый XSS в строке JavaScript с HTML-кодированными угловыми скобками</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-protected-by-strict-csp-with-dangling-markup.md">Отражённый XSS, защищённый очень строгой CSP, атакуемый с помощью dangling markup</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-with-svg-tags-allowed.md">Отражённый XSS с разрешёнными SVG-тегами</a></td></tr><tr><td><a href="/ru/web/xss/stored-xss-in-anchor-href-with-encoded-quotes.md">Хранимый XSS в href ссылки с закодированными кавычками</a></td></tr><tr><td><a href="/ru/web/xss/stored-xss-in-html-context-without-encoding.md">Хранимый XSS в HTML-контексте без кодирования</a></td></tr><tr><td><a href="/ru/web/xss/stored-xss-in-onclick-with-full-encoding.md">Хранимый XSS в onclick с полным кодированием</a></td></tr><tr><td><a href="/ru/web/xss/dom-xss-document-write-with-location-search.md">DOM XSS document.write с location.search</a></td></tr><tr><td><a href="/ru/web/xss/reflected-dom-xss.md">DOM XSS отражённый</a></td></tr><tr><td><a href="/ru/web/xss/stored-dom-xss.md">DOM XSS хранимый</a></td></tr><tr><td><a href="/ru/web/xss/xss-dom-with-document-write-inside-a-select.md">DOM XSS с document.write внутри select</a></td></tr><tr><td><a href="/ru/web/xss/xss-in-a-javascript-string-with-apostrophe-and-backslash-escaped.md">XSS в строке JavaScript с экранированными апострофом и обратным слешем</a></td></tr><tr><td><a href="/ru/web/xss/xss-in-a-javascript-string-with-encoded-angle-brackets-encoded-double-quotes-and-escaped-apostrophe.md">XSS в строке JavaScript с HTML-кодированными угловыми скобками, HTML-кодированными двойными кавычками и экранированным апострофом</a></td></tr><tr><td><a href="/ru/web/xss/xss-in-javascript-url-with-limited-characters.md">XSS в JavaScript URL с ограниченным набором символов</a></td></tr><tr><td><a href="/ru/web/xss/xss-in-template-literal-with-escaped-unicode.md">XSS в литеральном шаблоне с экранированными Unicode-символами</a></td></tr><tr><td><a href="/ru/web/xss/xss-reflected-in-an-attribute-with-encoded-angle-brackets.md">Отражённый XSS в атрибуте с закодированными угловыми скобками</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-in-html-with-blocked-tags.md">Отражённый XSS в HTML с заблокированными тегами</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-in-html-without-encoding.md">Отражённый XSS в HTML без кодирования</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-in-canonical-link-tag.md">Отражённый XSS в каноническом теге</a></td></tr><tr><td><a href="/ru/web/xss/reflected-xss-with-custom-tags-only.md">Отражённый XSS только с пользовательскими тегами</a></td></tr><tr><td><a href="/ru/web/xss/xss-to-bypass-csrf-defenses.md">XSS для обхода CSRF-защиты</a></td></tr><tr><td><a href="/ru/web/xss/xss-with-blocked-events-and-href-attributes.md">XSS с заблокированными событиями и атрибутами href</a></td></tr><tr><td><a href="/ru/web/xss/xss-with-csp-bypass.md">XSS с CSP и техникой обхода</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/ru/web/xss.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
