Збережений XSS

Збережений XSS

Посаджений один раз, після цього він працює для кожного відвідувача.

Що таке Збережений XSS?

Збережений міжсайтовий сценарій потрібно встановити лише один раз. Кожен користувач, який завантажує сторінку згодом, запускає сценарій зловмисника проти свого власного сеансу, не маючи посилання, яке потрібно натиснути, і нічого, що слід помітити. Ви перемістите тег зображення з обробником onerror у гостьову книгу, потім завантажите сторінку самостійно та подивіться, як друкується файл cookie сеансу. Виправлення виходить на межі візуалізації, тому ідентичне корисне навантаження, яке все ще знаходиться в базі даних, відображається як текст. Збережене значення ніколи не потрібно очищати, щоб виправлення збереглося.

Що ви дізнаєтесь у Збережений XSS

Збережений XSS — Кроки навчання

  1. Знайдіть форум спільноти

    Сьогодні Боб націлений на Signal Coast, форум спільноти якого дозволяє будь-якому учаснику опублікувати коротку загальнодоступну замітку, яку читає кожен інший. Він входить за допомогою одноразового облікового запису та відкриває гостьову книгу форуму, щоб побачити, як вона обробляє те, що пишуть люди.

  2. Примітки відображаються так, як вони написані

    Гостьова книга дає обіцянку, яку більшість сайтів ніколи не виконують: вона відображає кожну нотатку точно так, як вона написана, включаючи HTML. Поле, яке перетворює все, що ви вводите, на живу розмітку, — саме те, що Боб сподівався знайти.

  3. Опублікуйте звичайну замітку

    По-перше, Боб поводиться як будь-який інший учасник і публікує звичайну нотатку, щоб побачити, як це обробляє гостьова книга. Записка приєднується до стіни саме так, як написано: простий текст, нічого незвичайного. Ця функція працює належним чином.

  4. Перейти до сценарію

    Поле відображає HTML, тому Боб передає в нього сценарій замість речення. Його зонд — це тег зображення з джерелом, яке не може завантажити, і обробником onerror , який читає файли cookie сеансу переглядача. Зображення не працює, обробник запускається, і браузер вискакує те, що йому вказує нотатка. Тут він друкує сеанс, доказ того, що нотатка може запускати код із доданим логіном переглядача.

  5. Він запускається разом із сеансом

    Ось воно: нотатка запустилася сама по собі та видалила файл cookie поточного сеансу глядача, без натискання посилання та відкриття файлу. Нешкідливий принт сьогодні; безшумний маяк на сервер Боба завтра. Боб довів, що стіна запускає все, що містить записка. Тепер він будує справжню зброю.

  6. Підсадити фальшивий логін

    Боб замінює зонд на примітку, яка переписує сторінку у вікно входу в сеанс із завершенням, за допомогою обробника, який передає все, що вводиться, на його власний сервер. Кожному учаснику, який завантажує стіну, здається, що форум просто попросив їх увійти знову. Облікові дані йдуть прямо до Боба.

  7. Пастка озброєна

    Фальшивий вхід тепер є найновішою заміткою на стіні, і це виглядає так само, як форум, який просить учасників увійти знову. Його обробник передає все, що вводиться в нього, прямо на сервер Боба. Він посадив його одного разу; кожен учасник, який довіряє йому та підписується, передає свій пароль.

  8. Аліса відкриває стіну

    Ви володієте кодом візуалізації гостьової книги. Цього ранку ви наздоганяєте спільноту, як і будь-який інший адміністратор, який починає свій день: відкрийте свій браузер і підійдіть до стіни. Ви не натиснули посилання й не запустили нічого. Ви просто завантажуєте сторінку, якою керуєте.

  9. Удар під навантаженням

    Сторінка ледь завершила завантаження, а спливаюче вікно вже друкує файл cookie сеансу. Ви нічого не вводили і нічого не клацали. Одна з нотаток Боба запустилася, миттєво відтворивши стіну, у вашому сеансі адміністратора. На його збірці той самий обробник передасть цей сеанс прямо йому.

  10. І фальшивий логін під ним

    Прокрутіть стіну, і ви побачите другу примітку: поле для входу в сесію закінчилося, яке виглядає як власне на форумі. Будь-який учасник, який довіряє йому та підписується, передає свій пароль зловмиснику. Це збережені нотатки, які запускаються браузером кожного глядача. Як інженер, який володіє цією сторінкою, ви знаєте, що виправлення є в коді візуалізації.

Охоплення стандартів безпеки

OWASP Top 10

  • A05:2025 Injection
  • A03:2021 Injection

CWE

  • CWE-79 Improper Neutralization of Input During Web Page Generation

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security