Novootkrivena tehnika napada, nazvana „sendvič kolačića“, omogućava napadačima da zaobiđu oznaku HttpOnly na određenim serverima, izlažući osjetljive kolačiće, uključujući identifikatore sesije, skriptama na strani klijenta.
Napad „sendvič kolačića“ iskorištava nedostatke u načinu na koji web serveri analiziraju kolačiće kada se uvedu posebni znakovi, navodnici i naslijeđeni atributi.
Strateškim kreiranjem zaglavlja kolačića, napadači mogu manipulisati serverskom interpretacijom struktura kolačića , efektivno izlažući HttpOnly kolačiće.
Ključni mehanizmi napada
Parsing zastarjelih kolačića: Mnogi web serveri podržavaju i moderne (RFC6265) i naslijeđene (RFC2109) standarde kolačića. Ako zaglavlje kolačića počinje sa atributom $Version, serveri često podrazumijevaju zastarjelu logiku raščlanjivanja.
Stringovi u navodnicima: Naslijeđeno raščlanjivanje dozvoljava nizove u navodnicima u vrijednostima kolačića. Parser nastavlja čitati sve dok ne naiđe na neizbežni završni navodnik (“), potencijalno uključujući nepovezane kolačiće unutar vrijednosti navoda.
Uklanjanje obrnute kose crte: znakovi kojima prethodi obrnuta kosa crta (\) se uklanjaju tokom raščlanjivanja, što dodatno komplikuje rukovanje kolačićima.
Zakhar Fedotkin, istraživač sigurnosti u PortSwiggeru, rekao je da ako aplikacija odražava vrijednost param1 u svom odgovoru ili joj nedostaju odgovarajući mehanizmi za izbjegavanje, cijeli niz – uključujući osjetljivi sessionId – može biti izložen.
U jednom napadu za dokaz koncepta, istraživači su iskoristili XSS ranjivost na ranjivoj aplikaciji koja pokreće Apache Tomcat:
XSS Injection: JavaScript je ubačen na stranicu sa greškom zbog nepravilne sanacije unosa.
Manipulacija kolačićima: Skripta je postavila kolačiće $Version, param1 i param2 za kreiranje “sendviča”.
Iskorištavanje refleksije: manipulisani kolačići su se odrazili u JSON odgovoru domene za praćenje, izlažući HttpOnly PHPSESSID kolačić.
Uticaj i ranjivi sistemi
Ova ranjivost utiče na web aplikacije koje se oslanjaju na zastarjelo raščlanjivanje ili okvire koji podrazumijevano podržavaju stringove u navodnicima (npr. Python Flask).
Imajte na umu da je RFC2109 podržan po defaultu u Apache Tomcat verzijama 8.5.x, 9.0.x i 10.0.x.
Dakle, ova tehnika koristi XSS, manipulaciju kolačićima i ranjivost aplikacije za praćenje.
Tehnika „sendvič kolačića“ naglašava važnost robusnih sigurnosnih praksi kolačića i pažljivog rukovanja starim funkcijama kompatibilnosti.
Izvor: CyberSecurityNews