Влијание
Напаѓачот кој успешно ја експлоатира ранливоста на меѓусебно скриптирање (XSS) може да се маскира како жртва на корисник, да изврши каква било акција што корисникот е овластен да ја изврши и да пристапи до сите податоци на корисникот [S1]. Ова вклучува крадење колачиња од сесии за киднапирање сметки, фаќање акредитиви за најавување преку лажни форми или вршење виртуелно обезличување [S1][S2]. Ако жртвата има административни привилегии, напаѓачот може да добие целосна контрола над апликацијата и нејзините податоци [S1].
Основна причина
XSS се случува кога апликацијата добива влез кој може да го контролира корисникот и го вклучува во веб-страница без соодветна неутрализација или кодирање [S2]. Ова овозможува внесувањето да се толкува како активна содржина (JavaScript) од прелистувачот на жртвата, заобиколувајќи ја политиката за исто потекло дизајнирана да ги изолира веб-локациите едни од други [S1][S2].
Типови на ранливост
- Рефлектирано XSS: Злонамерните скрипти се рефлектираат од веб-апликацијата на прелистувачот на жртвата, обично преку параметарот на URL-то [S1].
- Зачувано XSS: Скриптата е трајно зачувана на серверот (на пр., во база на податоци или дел за коментари) и се служи на корисниците подоцна [S1][S2].
- XSS базиран на DOM: Ранливоста постои целосно во кодот од клиентот кој ги обработува податоците од недоверлив извор на небезбеден начин, како што е запишување на
innerHTML[S1].
Бетонски поправки
- Кодирајте податоци на излез: Конвертирајте ги податоците што може да ги контролира корисникот во безбедна форма пред да ги рендерирате. Користете HTML ентитет кодирање за телото HTML и соодветно кодирање JavaScript или CSS за тие специфични контексти [S1][S2].
- Внесување на филтер при пристигнување: Имплементирајте строги листи за дозволи за очекуваните формати за внесување и отфрлете се што не е во согласност со [S1][S2].
- Користете безбедносни заглавија: Поставете го знамето
HttpOnlyна колачињата за сесија за да спречите пристап преку JavaScript [S2]. КористетеContent-TypeиX-Content-Type-Options: nosniffза да се осигурате дека прелистувачите нема погрешно да ги толкуваат одговорите како извршна шифра [S1]. - Политика за безбедност на содржината (CSP): Распоредете силен CSP за да ги ограничите изворите од кои може да се вчитуваат и извршуваат скриптите, обезбедувајќи слој за одбрана во длабочина ZXCVFIXVIBETOKEN0ZXFIXZVIBETOKEN.
Како FixVibe тестира за него
FixVibe може да открие XSS преку повеќеслоен пристап заснован на воспоставени методологии за скенирање [S1]:
- Пасивни скенирања: Идентификување на исчезнати или слаби безбедносни заглавија како
Content-Security-PolicyилиX-Content-Type-Optionsкои се дизајнирани да го ублажат XSS ZXCVFIXVIBETOKEN2ZX. - Активни сонди: Инјектирање уникатни, не-злонамерни алфанумерички низи во параметрите на URL-то и полињата за форма за да се утврди дали тие се рефлектираат во телото за одговор без соодветно кодирање [S1].
- Репо скенирање: Анализирање на JavaScript од страна на клиентот за „мијалници“ кои небезбедно ракуваат со недоверливи податоци, како што се
innerHTML,document.writeилиsetTimeout, кои се вообичаени показатели за DXCV, XSS [S1].
