Cache poisoningCache poisoning je v informatice druh zranitelnosti webové aplikace založený na technice HTTP response splitting. Cílem útočníka je přesvědčit webový prohlížeč uživatele, aby uložil určitou stránku do své cache. Popis zranitelnostiPředpokladem k provedení Cache poisoning je, aby aplikace byla zranitelná na HTTP response splitting, tj. nesmí být filtrovány znaky CR a LF a musí docházet k přesměrování. Cache poisoning je z části shodná s Cross-User Defacement. Útočník též chce, aby server odeslal klientovi jím vytvořenou odpověď s podvrženým dokumentem, přičemž navíc musí odpověď přijít z budoucnosti. Prohlížeč automaticky ukládá na určitou dobu příchozí data do své vyrovnávací paměti, k čemuž dochází vždy, když není tato možnost v prohlížeči zakázána nebo není serverem posílána hlavička Pokud se útočníkovi podaří nastavit hlavičku Po této hlavičce zase následuje podvržení dokumentu. Samozřejmě je nutné dodržet strukturu odpovědi. Útok na zranitelnou aplikaciVložení nějaké hodnoty: foobar Přechod na nový řádek pomocí znaků CR a LF: %0d%0a Nastavení Content-length:%200 Vynechání jednoho řádku: %0d%0a%0d%0a Vložení hlavičky další odpovědi (speciální znaky je nutné převést do URL kódování): HTTP/1.1 200OK Content-Type: text/html Last-Modified: Mon, 27 Oct 2015 14:50:18 GMT Content-length: 47 <html>Deface</html> Odesílaný dotaz by měl vypadat nějak takto: foobar%0d%0aContent-length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aLast-Modified:%20Mon,%2027%20Oct%202015%2014:50:18%20GMT%0d%0aContent-length:%2047%0d%0a%0d%0a<html>deface</html> ObranaObranou před Cache poisoning je neumožnit útočníkovi provést HTTP Response Splitting, čehož lze dosáhnout odfiltrováním znak CR a LF od všech uživatelských vstupů zejména tam, kde jsou hodnoty parametrů vkládány do hlaviček. Související článkyExterní odkazy
|
Portal di Ensiklopedia Dunia