Když prohlížeč odešle požadavek na místní server, připojí další hlavičky, jako jsou hlavičky hostitele a původu, aby serveru poskytl další informace. Tyto hlavičky hrají zásadní roli při zajišťování bezpečnosti a správného fungování webových aplikací. V této odpovědi prozkoumáme, jak prohlížeč tyto hlavičky připojuje, a probereme jejich význam v kontextu zabezpečení místního HTTP serveru.
Záhlaví hostitele je základní součástí požadavku HTTP a používá se k určení cílového hostitele, kterému je požadavek zasílán. Při požadavku na místní server prohlížeč obsahuje hlavičku hostitele, která označuje název hostitele nebo IP adresu serveru, se kterým chce komunikovat. To umožňuje serveru identifikovat zamýšlený cíl požadavku. Pokud chce například prohlížeč přistupovat na webovou stránku hostovanou na místním serveru s IP adresou 192.168.0.1, zahrnul by hlavičku hostitele takto: „Host: 192.168.0.1“. Server pak použije tyto informace ke směrování požadavku na příslušný zdroj.
Na druhé straně hlavička původu je bezpečnostní mechanismus implementovaný moderními prohlížeči k ochraně proti útokům z různých zdrojů. Specifikuje původ, ze kterého je požadavek podán, včetně protokolu, názvu hostitele a čísla portu. Prohlížeč automaticky zahrne hlavičku původu do požadavků na místní servery, aby bylo zajištěno, že server může ověřit zdroj požadavku. Pokud například webová stránka hostovaná na adrese „http://localhost:8080“ odešle požadavek na místní server na adrese „http://localhost:3000“, prohlížeč zahrne hlavičku původu takto: „Origin: http ://localhost:8080". To umožňuje serveru ověřit, že požadavek pochází z očekávaného zdroje, a pomáhá zabránit neoprávněnému přístupu k citlivým zdrojům.
Kromě hlaviček hostitele a původu existují další hlavičky, které mohou prohlížeče připojit při odesílání požadavků na místní servery. Záhlaví user-agent například poskytuje informace o klientské aplikaci (tj. prohlížeči), která zadává požadavek. Tato hlavička pomáhá serveru porozumět možnostem a omezením klienta a umožňuje mu poskytovat vhodné odpovědi.
Je důležité si uvědomit, že zatímco prohlížeče tyto hlavičky standardně připojují, lze je také různými způsoby upravit nebo odstranit. To lze provést prostřednictvím rozšíření prohlížeče, proxy serverů nebo přímou manipulací s požadavkem pomocí programovacích technik. Proto je zásadní, aby správci serverů zavedli vhodná bezpečnostní opatření k ověření a dezinfekci příchozích požadavků, bez ohledu na přítomnost těchto hlaviček.
Když prohlížeč odešle požadavek na místní server, připojí další hlavičky, jako jsou hlavičky hostitele a původu. Hlavička hostitele určuje cílového hostitele požadavku, zatímco hlavička původu pomáhá chránit před útoky napříč původem. Tyto hlavičky hrají zásadní roli při zajišťování bezpečnosti a správného fungování webových aplikací. Správci serveru by si měli být vědomi těchto hlaviček a zavést vhodná bezpečnostní opatření k ověření a dezinfekci příchozích požadavků.
Další nedávné otázky a odpovědi týkající se Základy zabezpečení webových aplikací EITC/IS/WASF:
- Co jsou záhlaví požadavku na načtení metadat a jak je lze použít k rozlišení mezi stejnými původními požadavky a požadavky z různých webů?
- Jak důvěryhodné typy snižují útočnou plochu webových aplikací a zjednodušují kontroly zabezpečení?
- Jaký je účel výchozí zásady v důvěryhodných typech a jak ji lze použít k identifikaci nezabezpečených přiřazení řetězců?
- Jaký je proces vytvoření objektu důvěryhodných typů pomocí rozhraní API důvěryhodných typů?
- Jak direktiva důvěryhodných typů v zásadách zabezpečení obsahu pomáhá zmírnit zranitelnosti skriptování mezi weby (XSS) založené na modelu DOM?
- Co jsou důvěryhodné typy a jak řeší zranitelnosti XSS založené na DOM ve webových aplikacích?
- Jak může politika zabezpečení obsahu (CSP) pomoci zmírnit zranitelnost skriptování mezi weby (XSS)?
- Co je to cross-site request forgery (CSRF) a jak jej mohou zneužít útočníci?
- Jak zranitelnost XSS ve webové aplikaci ohrozí uživatelská data?
- Jaké jsou dvě hlavní třídy zranitelnosti, které se běžně vyskytují ve webových aplikacích?
Další otázky a odpovědi naleznete v EITC/IS/WASF Web Applications Security Fundamentals