Předávání SID pomocí cookies
Jak jsem ukázal v článku Session ID do URL nepatří, základním pravidlem je uchovávat a předávat si session ID výhradně s pomocí cookies. Dneska bych rád zmínil některá důležitá nastavení, která s tím souvisí.
Jak jsem ukázal v článku Session ID do URL nepatří, základním pravidlem je uchovávat a předávat si session ID výhradně s pomocí cookies. Dneska bych rád zmínil některá důležitá nastavení, která s tím souvisí.
V článku Session hijacking aneb ukradení session ID jsem předeslal, že předávání SID přímo pomocí parametrů v URL je špatné. Lze na ně totiž použít drtivou většinu všech útoků pro ukradení či podvržení SID, zatímco předávání pomocí cookies je proti mnohým z nich relativně odolné. Pojďme se na to podívat blíže.
V předchozím článku jsem zeširoka nakousl session hijacking jako úvod do dalších
brzkých dílů. Ale jak už to tak při psaní blogísku bývá s volným
časem, je ho čím dál méně, takže pokračování přichází až teď, po
třech měsících. No nic, podívejme se na první možnost krádeže
Session ID, kterou je Sidejacking čili odchycení
SID z běžného sítového provozu.
Ukradení SID oprávněnému uživateli se obvykle označuje jako Session stealing nebo častěji Session hijacking. Existuje více cest, jak lze SID ukrást a získat tak třeba přístup k účtu daného uživatele. V příštích několika článcích se pokusím uvést všechny důležité útoky a zejména možnosti, jak se lze Session hijackingu v PHP bránit.
Cross-site scripting, označovaný obvykle zkratkou XSS, patří k nejznámějším útokům vůbec. Ačkoliv o něm již bylo napsáno mnoho, je XSS zranitelnost i nadále jednou z nejčastějších chyb současných webových aplikací. Není tedy od věci si jej připomenout i zde.
Při práci se sessions si mezi sebou server a klient neustále vyměňují SID. Jedná se o náhodně vygenerovaný token, podle kterého si server páruje dohromady jednotlivé požadavky konkrétního návštěvníka. Kdo zná SID, ten má přístup i k celé příslušné session.