Когато браузър отправи заявка към локален сървър, той прикачва допълнителни заглавки, като заглавки на хост и произход, за да предостави допълнителна информация на сървъра. Тези хедъри играят решаваща роля за гарантиране на сигурността и правилното функциониране на уеб приложенията. В този отговор ще проучим как браузърът прикачва тези заглавки и ще обсъдим тяхното значение в контекста на сигурността на локалния HTTP сървър.
Заглавката на хоста е основен компонент на HTTP заявката и се използва за указване на целевия хост, към който се изпраща заявката. Когато прави заявка към локален сървър, браузърът включва заглавката на хоста, за да посочи името на хоста или IP адреса на сървъра, с който иска да комуникира. Това позволява на сървъра да идентифицира предназначението на заявката. Например, ако браузър иска достъп до уеб страница, хоствана на локален сървър с IP адрес 192.168.0.1, той ще включва заглавката на хоста, както следва: „Хост: 192.168.0.1“. След това сървърът използва тази информация, за да насочи заявката към подходящия ресурс.
Заглавието на източника, от друга страна, е защитен механизъм, внедрен от съвременните браузъри за защита срещу кръстосани атаки. Той указва източника, от който се прави заявката, включително протокола, името на хоста и номера на порта. Браузърът автоматично включва заглавката на източника в заявките към локалните сървъри, за да гарантира, че сървърът може да провери източника на заявката. Например, ако уеб страница, хоствана на „http://localhost:8080“, отправи заявка към локален сървър на „http://localhost:3000“, браузърът ще включи заглавката на произхода, както следва: „Произход: http ://localhost:8080". Това позволява на сървъра да потвърди, че заявката произхожда от очакван източник и помага за предотвратяване на неоторизиран достъп до чувствителни ресурси.
В допълнение към заглавките на хоста и източника, има други заглавки, които браузърите могат да прикачат, когато правят заявки към локални сървъри. Например заглавката на потребителския агент предоставя информация за клиентското приложение (т.е. браузъра), което прави заявката. Този хедър помага на сървъра да разбере възможностите и ограниченията на клиента, позволявайки му да предоставя подходящи отговори.
Важно е да се отбележи, че докато браузърите прикачват тези заглавки по подразбиране, те също могат да бъдат модифицирани или премахнати по различни начини. Това може да стане чрез разширения на браузъра, прокси сървъри или чрез директно манипулиране на заявката с помощта на техники за програмиране. Ето защо е изключително важно администраторите на сървъра да прилагат подходящи мерки за сигурност, за да валидират и дезинфекцират входящите заявки, независимо от наличието на тези заглавки.
Когато браузър отправи заявка към локален сървър, той прикачва допълнителни заглавки, като например заглавки на хост и произход. Заглавката на хоста указва целевия хост на заявката, докато заглавката на източника помага за защита срещу кръстосани атаки. Тези заглавки играят жизненоважна роля за гарантиране на сигурността и правилното функциониране на уеб приложенията. Администраторите на сървъра трябва да са наясно с тези заглавки и да прилагат подходящи мерки за сигурност, за да валидират и дезинфекцират входящите заявки.
Други скорошни въпроси и отговори относно EITC/IS/WASF Основи за сигурност на уеб приложенията:
- Какво представляват заглавките на заявките за извличане на метаданни и как могат да се използват за разграничаване между заявки с един и същ произход и междусайтове?
- Как доверените типове намаляват повърхността за атака на уеб приложенията и опростяват прегледите на сигурността?
- Каква е целта на политиката по подразбиране в надеждни типове и как може да се използва за идентифициране на несигурни присвоявания на низове?
- Какъв е процесът за създаване на обект с надеждни типове с помощта на API за надеждни типове?
- Как директивата за доверени типове в политиката за сигурност на съдържанието помага за смекчаване на уязвимостите на базирани на DOM скриптове между сайтове (XSS)?
- Какво представляват доверените типове и как се справят с DOM-базираните XSS уязвимости в уеб приложенията?
- Как политиката за сигурност на съдържанието (CSP) може да помогне за смекчаване на уязвимостите на междусайтови скриптове (XSS)?
- Какво е фалшифициране на заявка между сайтове (CSRF) и как може да бъде използвано от нападателите?
- Как една XSS уязвимост в уеб приложение компрометира потребителските данни?
- Кои са двата основни класа уязвимости, често срещани в уеб приложенията?
Вижте още въпроси и отговори в EITC/IS/WASF Основи на сигурността на уеб приложенията