Ten wpis jest nieco przewrotnym komentarzem do wpisu Przemka:Testowanie logiki biznesowej. Mam dość szukania SQLi i XSSów, bo jest to umiarkowanie efektywne podejście, dodatkowo często uwsteczniające intelektualnie, monotonne i nużące. Skupiając się na tego typu podatnościach można przeoczyć inne, ciekawsze, a przede wszystkim istotniejsze. Można nawet nie mieć czasu, by zabrać się za co ciekawsze kwestie związane z logiką biznesową. W dodatku i tak istnieje spora szansa, że jakiś XSS lub SQLi pozostanie niezauważony, co pokazałem(?) choćby w przykładzie z podatnościami, które stają się oczywiste zaraz po tym, jak się je już znajdzie...
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.