Jak powinien wyglądać 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

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.

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”

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”

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ą

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

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

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

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

Test na zgodność danych uwierzytelniających z popularnymi słownikami

Większość użytkowników aplikacji internetowych nie stosuje się do zaleceń stosowania trudnych, nie słownikowych danych dostępowych. Często opierają swoje hasła na słowach i frazach, których łatwo nie zapomną. Słowa te to imiona dzieci, adresy ulic, ulubiona drużyna piłkarska, miejsce urodzenia itp.  Konta użytkowników – szczególnie administracyjne powinny być chronione za pomocą… Continue reading