Въведение в „document.domain“

document.domain изтегля стойност по подразбиране от действителния URL адрес, ако не е зададен изрично. Браузърите ще записват дали document.domain идва по подразбиране от URL адреса или е изрично зададен. И двете трябва да са по подразбиране за един и същ домейн или и двете трябва да бъдат изрично зададени на един и същ домейн, за да работи това. Ако едната е по подразбиране и едната е изрично зададена, и двете съвпадат, ако са прочетени, на двете страници пак ще бъде забранено да говорят една с друга. [1]

Лабораторна среда

Операционна система: Kali 17.3

Уеб сървър: Хостван на XAMPP в Win 7 машина.

Инструменти : Exiftool[2]

Доказателство за концепцията

Първо, нападателят получава достъп до уеб приложението, което има функция за качване на файлове. Страницата с функция за качване може да се използва от тук.

Качване на файл, наречен с XSS заявка, тъй като името на XSS файл ще бъде отразено в уеб страницата и ще бъде изпълнено като полезен товар.

XSS заявка: ›‹img src=x onerror=alert(document.domain)›

Той ще се изпълни допълнително, като подкани изскачащ прозорец с IP адреса на уеб сървъра. В сценария от реалния живот уеб страницата ще получава данни и отговори от уеб сървъра, тъй като функцията document.domain ще се изпълни и ще разкаже подробностите за уеб сървъра, с който уеб приложението обслужва.

Друг начин за правене на XSS чрез качване на файл е промяната на „Метаданните“ на файла. Метаданните са информацията за даден файл, която улеснява работата и намирането му. Тези данни са основни като размер на файла, автор на файла, дата на създаване, дата на промяна и т.н. Така че, чрез поставяне и изпълнение на XSS полезен товар в метаданни на файла, той допълнително ще доведе до изпълнение на кода и ще ни даде желаните от нас данни, без да позволява някой да знае.

За промяна на метаданните и добавяне на скрипт за полезен товар във файла с метаданните ще използваме Exiftool в нашата атакуваща машина. Първо проверявате метаданните на изображението „lucideus.jpeg“.

След запознаване с метаданните, промяна на името на изпълнителя като XSS полезен товар, така че да може да се изпълнява по-нататък.

След манипулиране и добавяне на полезния товар, повторна проверка на файла, това означава, че метаданните на файла са променени и манипулирани.

След добавяне на полезен товар в метаданните, качване на файла в уеб приложението. ЗАБЕЛЕЖКА: ако не получи никакъв отговор, опитайте да добавите повече заявки в други свойства на метаданни чрез ExifTool като в полето „Създател“ и т.н.

Докато качваме изображението, то ще работи по същия начин като горния резултат и ни показва подробностите за уеб сървъра чрез (document.domain).

Трето, ако нападател качи GIF изображение, този GIF може да вгради javascript полезен товар в него като само в метаданни. Когато атакуващият извика и изпълни този GIF, javascript ще бъде изпълнен и ще изведе резултатите. Първо, GIF ще бъде качен в уеб приложението.

Заключение

XSS възниква не само когато нападател въведе какъвто и да е Javascript полезен товар във входните параметри на уеб приложението, но може да бъде възможен и по начините, които току-що обсъдихме по-горе. За да се защити от тези атаки, разработчикът може да използва HTML кодиране и след това да разположи кодиране на JavaScript към всички ненадеждни входни параметри. За повече разработчици трябва да се обърнете към OWASP Cheat List за XSS Evasion.