У цьому розділі ми розглянемо практичні приклади отримання вигоди з XSS уразливості.
Крадіжка даних за допомогою XSS і їх передача на віддалений сервер
Це найпопулярніший варіант експлуатації XSS. Крім уразливості XSS на цільовому веб-сайті, нам потрібен свій сервер, на який будуть відправлятися дані. Як вразливих сайтів я буду використовувати різні веб-додатки з Web Security Dojo. Як сервер, який буде збирати дані, я буду використовувати один зі своїх хостингів (для навчання можете описане тут проробляти на localhost'е, або пошукати будь-який безкоштовний хостинг з PHP, або просто купити хостинг.
Для прийому і показу даних я буду використовувати наступний код:
Встановлюються файл для зберігання даних і пароль (pass).
Можна вкрасти весь HTML код:
Або окремі елементи:
Крадіжка HTML коду має сенс тоді, коли цільової користувач бачить на сторінці те, що вам недоступно.
Зміна зовнішнього вигляду сайту за допомогою XSS
Подібним чином можна залишити веб-сайт без вмісту:
А так без вмісту буде тільки вибраний елемент:
Можна поміняти вміст сайту на своє:
Додати щось від себе:
І робити що-завгодно зі стилями.
Впровадження перехоплювача натискань клавіш при XSS (кілогер)
Додавання кілогера (програми, яка записує всі натиснуті користувачем клавіші) найбільш перспективно при збереженої уразливості XSS. Хоча і при непостійних XSS кілогер може зробити свою справу.
Перехоплюватимуться все натиснуті клавіші, в тому числі введені логіни і паролі.
Вихідний код exploit.js.
Зверніть увагу на рядок:
Другий файл exploit.php.
У ньому можна нічого не міняти - хіба пароль встановіть на свій.
У сайті з наявної інформації, що зберігається XSS ми вводимо:
Подцепленний на BeEF
Атакуючий запускає BeEF на своєму сервері:
Наш код, який ми вставляємо в сайт, уразливий до XSS:
Коли хтось відвідує сторінку з нашим кодом, ми бачимо це в панелі управління BeEF:
Виконуємо різні атаки:
Підказки по експлуатації XSS і обходу фільтрів
Тут зібрані деякі приклади, які можуть допомогти вам обійти XSS фільтри, це може виявитися корисним в різних контекстах і може допомогти вам у виконанні XSS.
Базова корисне навантаження XSS:
Обхід обмеження тега script шляхом заміни регістра:
XSS з використанням тегів Image і HTML:
Працює тільки в Chrome
В контексті стилів (працює тільки на старих версіях IE. Наприклад IE 8, IE 7)
Якщо input всередині тега