Шта је скриптовање на више локација?

click fraud protection

Једна од најчешћих класа рањивости на веб локацијама назива се „Цросс-Сите Сцриптинг“ или „КССС“. КССС рањивости су места где је могуће да корисник изазове извршавање ЈаваСцрипт-а. Постоји велики број различитих варијанти КССС рањивости, са различитим степеном озбиљности.

Проблем са нападачем који може да изврши ЈаваСцрипт у сесијама других корисника је тај што је тада могуће да нападач уради било шта на веб локацији коју жртве виде. Ово укључује преусмеравање жртава на спољне веб странице, крађу токена за аутентификацију и праћење детаља плаћања.

Најтежи облик КССС рањивости је „Складиштено“ или „Перзистентно“ скриптовање на више локација. могуће је да нападач направи КССС корисни терет и затим га пошаље, тако да се он чува у бази података. Са КССС експлоатацијом сачуваним у бази података, онда је могуће да утиче на друге кориснике током дугог временског периода.

Други облик скриптовања на више локација је „Одражено“, овај тип се ни у једном тренутку не чува, уместо тога, корисни терет је укључен у претраживач. Типично, овај тип КССС-а је део пхисхинг напада, где нападач покушава да превари жртву да кликне на злонамерну везу.

Генерално, већина КССС напада има корисни терет у неком тренутку послат на сервер, али неки напади јесу искључиво на страни клијента, никада се не шаљу на сервер и уместо тога утичу само на клијентску страну ЈаваСцрипт. Ово се зове КССС заснован на ДОМ-у јер остаје у објектном моделу ЈаваСцрипт документа или ДОМ-у. Ову врсту рањивости је посебно тешко идентификовати и решити јер сервер никада не види експлоатацију и зато се не може евидентирати.

Историјски гледано, техника превенције против КССС рањивости је филтрирање свих података које су послали корисници, коришћењем блок-листа да се одбаце све поруке са значајним знаковима или речима у ЈаваСцрипт-у. Ово је довело до трке у наоружању у проналажењу обилазница за филтер док је такође спречило неке легитимне корисничке поднеске. Исправно решење је коришћење ХТМЛ ентитета за кодирање података које је поднео корисник. са омогућеним модулима ХТМЛ ентитета, знакови се аутоматски кодирају у формат у којем претраживач зна да их прикаже као исправне симболе, али не и да их третира као код.