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.
Ziemek na swoim blogu poruszył ciekawy temat. Chodzi o pracę i załatwianie jej po znajomości. Swoje zdanie na ten temat przedstawiłem w komentarzu na blogu Ziemka, dodając do tego temat nepotyzmu. Tu kilka dodatkowych refleksji na ten temat.
W końcu spokojny weekend. Spokojny w tym sensie, że nie zamierzam w jego trakcie grzebać we wnętrznościach żadnej aplikacji. Czasami trzeba zrobić sobie przerwę i wolny czas wykorzystać na coś innego.
Jeśli ktoś jest zainteresowany, to raport Bezpieczeństwo w polskim Internecie 2009 może sobie przeczytać. Na szczęście składa się tylko z 24 stron, z czego “treściwych” jest jeszcze mniej, więc da się przez niego przebrnąć. Treść nawet znośna, co jest poniekąd zaskoczeniem w przypadku produktów, w których tworzeniu biorą udział Wielcy Panowie W Garniturach (w tym przypadku Deloitte).
(...) Ależ testy penetracyjne nie służą do identyfikowania wszystkich podatności tylko do wskazania podatności praktycznych, oczywistych, rażących czy dostępnych w danym scenariuszu użycia. (...)
Problem w tym, że czasami podatności stają się oczywiste, dopiero jak zostaną znalezione... W tym celu przygotowałem małą demonstrację: http://bootcamp.threats.pl/lesson14/. Prawda, że oczywista podatność?
(...) Można też z góry wykluczyć pewne grupy podatności jako nieistotne w przypadku danej aplikacji. Przykładowo: “podatność” wyszukiwarki Google na CSRF. (...)
Dziś krótko o tym, dlaczego nie miałem racji, czyli dlaczego podatność wyszukiwarki na CSRF mogłaby być istotna.
Nie bardzo rozumiem całego szumu wokół URLzone. Nie robi on niczego nieoczekiwanego. Owszem, jest sprytny, ale nie odkrywczy. Malware na komputerze może stworzyć użytkownikowi dowolną iluzję rzeczywistości, która ograniczona jest jedynie inwencją twórców. Z tego powodu w systemach bankowości internetowej ważna jest nie tylko autoryzacja transakcji, ale również skuteczne poinformowanie użytkownika o parametrach autoryzowanej właśnie transakcji. Jak ostatnio pisałem, warunek ten obecnie spełnia autoryzacja transakcji przy pomocy kodów SMS. Oczywiście wraz z kodem autoryzacyjnym w SMS muszą być przesłane również parametry transakcji, jaka będzie realizowana. W interesie użytkownika natomiast leży ich sprawdzenie.