Przykładowy raport z rzeczywistego testu penetracyjnego

Przykładowy raport z rzeczywistego testu penetracyjnego

W ramach swojej pracy magisterskiej miałem okazję przeprowadzić pełny test penetracyjny komercyjnej aplikacji webowej napisanej z użyciem ASP.NET. Wynikiem moich badań jest raport, którym postanowiłem podzielić się w „zaciemnionej” formie z szerszym gronem osób. Materiały tego typu w naszym ojczystym języku są towarem deficytowym. W zasadzie jedyny, który znam z… Continue reading

Jak powinien wyglądać dobry raport z testu penetracyjnego?

dobry raport z testu penetracyjnego

Doświadczony pentester, wie że dobrze napisany raport cechuję się tym, że po jego prezentacji klient nie ma żadnych dodatkowych pytań. Aby było to możliwe powinien on zawierać co najmniej cztery podstawowe sekcje z informacjami przeznaczonymi dla różnej grupy odbiorców. Sekcja 1: Ogólne informacje i statystyki Podczas, gdy programista mający naprawić… Continue reading

Testowanie pod kątem wstrzykiwania zapytań SQL

Testowanie pod kątem wstrzykiwania zapytań SQL

Ataki typu SQL injection polegają na wstawieniu lub „wstrzyknięciu” zapytania SQL za pośrednictwem danych wejściowych przesyłanych przez klienta do aplikacji. Pomyślnie przeprowadzony atak tego typu może posłużyć do odczytu wrażliwych informacji z bazy danych oraz ich modyfikacji, czy też usunięcia. W najbardziej skrajnych przypadkach umożliwia on wydawanie poleceń systemowych. Poniżej… Continue reading

Testowanie pod kątem wstrzykiwania kodu javascript.

Testowanie pod kątem wstrzykiwania kodu javascript

XSS to atak pozwalający na wstrzyknięcie i wykonanie mogącego wykonać złośliwe działanie kodu HTML lub JavaScript. Może to zostać wykorzystane do kradzieży krytycznych danych (na przykład danych sesji) z plików cookie. Jako, że kod zostaje wykonany w kontekście podatnej aplikacji umożliwia to wykonanie innych ataków jak phishing, logowanie klawiatury, czy przekierowanie… Continue reading

Testowanie podatności typu „CSRF”

Testowanie podatności typu „CSRF”

Atak typu CSRF (cross site request forgery) polega na wykorzystaniu ogólno przyjętej logiki działania przeglądarek internetowych dotyczących zarządzania sesją użytkownika w otwartych stronach. Standardem jest, że użytkownik może posiadać tylko jedną aktywną sesję w aplikacji internetowej z której aktualnie korzysta. Każda nowo otwarta karta w przeglądarce będzie automatycznie korzystać z… Continue reading

Testowanie podatności typu „path traversal”

Testowanie podatności typu „path traversal”

Badanie podatności typu „path traversal” polega na sprawdzeniu, czy aplikacja internetowa pozwala na nieautoryzowany dostęp do plików lub katalogów do których dostęp powinien być zabroniony. W przeprowadzeniu tego typu ataku wykorzystuje się parametry przekazywane do aplikacji przedstawiające ścieżki do zasobów na których wykonywane są konkretne operacje, np. odczyt, zapis lub… Continue reading

Testowanie procesu zarządzania sesją

Testowanie procesu zarządzania sesją

Proces zarządzania sesją obejmuje w szerokim zakresie wszystkie mechanizmy kontrolne użytkownika od uwierzytelnienia do opuszczenie aplikacji. HTTP jest protokołem bezstanowym, co oznacza, że ​​serwery WWW odpowiada na żądania klienta bez  ustanawiania ciągłego połączenia z nim.  Z tego względu nawet prosta aplikacja wymaga wysłania przez użytkownika wielu żądań, zanim zostanie powiązana… Continue reading

Testowanie procesu zakończenia sesji

Testowanie procesu zakończenia sesji

Badanie procesu zakończenia sesji polega w głównej mierze na sprawdzeniu, czy po wylogowaniu użytkownika aplikacji nie jest możliwe ponowne użycie jego identyfikatora sesji. Należy sprawdzić także jak aplikacja zarządza danymi przechowywanymi w pamięci. Aby zminimalizować czas, w którym atakujący może przeprowadzić atak na aktywną sesję i ją przejąć, należy ustawić… Continue reading

Testowanie procesu resetowania hasła

Testowanie procesu resetowania hasła

Funkcja zmiany i resetowania hasła aplikacji to samoobsługowy mechanizm zmiany lub resetowania hasła dla użytkowników bez interwencji administratora. W przypadku jego słabego zabezpieczenia pozwala atakującemu na zmianę hasła dowolnego użytkownika, a tym samym przejęcie jego konta. Należy zabezpieczyć mechanizm resetowania hasła przed nieuprawnioną jego zmianą np. poprzez wykorzystanie jednorazowych tokenów… Continue reading

Testowanie możliwości obejścia mechanizmu autentykacji

Testowanie możliwości obejścia mechanizmu autentykacji

Próby ominięcia mechanizmu autentykacji mają na celu sprawdzenie, czy możliwe jest uzyskanie dostępu do zasobów nieprzeznaczonych dla danego użytkownika w nieautoryzowany sposób. Do testowania tego typu błędów można użyć narzędzia Burp Suite, a same testy powinny objąć sprawdzenie następujących przypadków: próba ominięcia procesu uwierzytelniania poprzez bezpośrednie odwołanie do testowanego zasobu…. Continue reading