Wczoraj natknąłem się na praktyczny przykład podatności, która może wynikać z braku właściwie ustawionego nagłówka Cache-Control. Mechanizm wystąpienia podatności jest bardzo prosty: serwer nie oznacza określonej treści zawierającej dane specyficzne dla użytkownika odpowiednim nagłówkiem Cache-Control (lub nie ustawia nagłówka Expires, który wskazuje, że treść już wygasła). Kolejny użytkownik korzystający z tej samej przeglądarki po uwierzytelnieniu widzi nie swoje dane. Dzieje się tak, bo przeglądarka po prostu nie odwołuje się do serwera, by pobrać nową wersję strony. Nie robi tego, bo wersja, którą pobrała poprzednim razem, jest wciąż ważna.
By było ciekawiej, problem objawia się tylko w przeglądarce Internet Explorer 8 (w innych wersjach nie sprawdzałem). W przypadku Firefox, Opera i Chrome problem, w tym konkretnym przypadku, nie występuje.
A po odświeżeniu strony jka to wygląda? Próbowałeś F5 a potem ctrl+ F5? Jak wtedy wygląda sprawa
Co do IE, to akurat jego zachowanie można interpretować jako prawidłowe. W końcu serwer w żaden sposób nie poinformował przeglądarki, że dana strona powinna być użyta tylko raz. I wtedy trafia się potencjalnie w obszar zachowań specyficznych dla przeglądarek.