Testy wykorzystania kanałów szyfrowanych do przesyłania haseł oraz poufnych danych.

Wszystkie poufne dane takie jak hasła, loginy, czy też numery kart kredytowych powinny być przesyłane szyfrowanym kanałem pomiędzy klientem, a serwerem. Dzięki temu użytkownik chroniony jest przed atakiem typu „man in the midle”, gdzie atakujący jest wpięty w komunikację pomiędzy użytkownikiem a siecią z której aktualnie korzysta. Ma on dostęp… Continue reading

Analiza poprawności implementacji protokołów SSL/TLS

Sprawdzanie poprawności implementacji protokołów SSL/TLS przeprowadza się w celu wykrycia użycia znanych słaby metod szyfrowania lub funkcji skrótu.  Przykładem może być tutaj protokół SSL v2, który nie powinien być już używany ze względu na znane podatności. Innymi błędami których występowanie należy zweryfikować jest użycie  symetrycznego algorytmu szyfrowania z kluczami mniejszymi… Continue reading

Analiza wiadomości z błędami

Znalezienie i wywołanie komunikatów o błędach poddane analizie pozwala na zidentyfikowanie działających usług i technologii wykorzystywanych przez aplikacje. W wywoływaniu błędów najskuteczniejsza jest manualna modyfikacja zapytań HTTP poprzez losowe wstawianie nietypowych znaków w różne miejsce tegoż zapytania.   W jednej z testowanych aplikacji przykładowy komunikat o błędzie widoczny na rysunku poniżej… Continue reading

Odkrywanie aplikacji

Celem tego testu jest znalezienie otwartych portów i identyfikacja usług na nich działających, na przykład bazy danych, czy też interfejsów administracyjnych. Przydatnymi narzędziami będą tutaj – skaner portów i usług Nmap oraz skaner zabezpieczeń aplikacji internetowych Nikto. Na obrazie poniżej został zaprezentowany wynik skanowania testowanej aplikacji narzędziem Nmap, któremu udało… Continue reading

Zbieranie „odcisków palców” działających usług

Za pomocą analizy tzw. „odcisków palca” w  nagłówkach odpowiedzi serwera na zapytania HTTP można dowiedzieć się na przykład jaki język programowania oraz infrastruktura serwerowa została użyta przy budowie aplikacji. Przydaje się tutaj także analiza komunikatów błędów oraz kodu źródłowego. Na rysunku poniżej przedstawiona została przykładowa odpowiedź serwera z której można… Continue reading

Identyfikacja punktów wejścia

Celem identyfikacji punktów wejścia do aplikacji jest poznanie protokołów i metod wykorzystywanych do przesyłania informacji między klientem a serwerem. Sprawdzenie jakie poszczególne parametry przyjmowane są poprzez zapytania HTTP, oraz jakie informacje przechowywane są plikach cookie oraz jakie nagłówki są używane. Jest to widoczne na rysunku poniżej. Pozwala to na zbudowanie… Continue reading

Mapowanie strony

Mapowanie zasobów webaplikacji może zdradzić ważne informacje na temat drzewa i struktury katalogów aplikacji, tym samym ujawniając  informacje o użytym oprogramowaniu, jego wersji, czy też wykorzystanym przy budowie języku programowania. Polega ono na zbudowaniu systematycznego widoku, który zazwyczaj w hierarchiczny sposób przedstawia z jakich danych zbudowana jest aplikacja WEB. Mapę… Continue reading

Fazy przeprowadzania testu penetracyjnego

Podczas przeprowadzenia testu penetracyjnego aplikacji web można wyogólnić kilka etapów. Każdy z nich charakteryzuje się wykorzystaniem innych narzędzi i tym samym otrzymanym rezultatem. Można także zauważyć że poszczególne fazy nie zawsze występują ściśle po sobie. Najczęściej jednak wyniki uzyskane z jednego etapu są często danymi wejściowymi dla etapu kolejnego.  … Continue reading

Najczęstsze podatności aplikacji webowych

Zgodnie ze statystykami prowadzonymi przez organizację OWASP (Open Web Application Security Project) zajmującą się tematyką bezpieczeństwa aplikacji internetowych można wyróżnić dziesięć najczęściej występujących błędów bezpieczeństwa. Grafika poniżej przedstawia częstość wykrywania tych podatności podczas wstępnej oceny ryzyka przez organizację Veracode zajmującej się badaniem bezpieczeństwa aplikacji internetowych.   Częstość wykrywania podatności z… Continue reading

Czym są testy penetracyjne?

Testy penetracyjne można zdefiniować jako legalną i autoryzowaną próbę znalezienia i wykorzystania luk bezpieczeństwa w systemach komputerowych w celu poprawienia bezpieczeństwa tychże systemów. Proces ten obejmuje testowanie luk w zabezpieczeniach jak i również dostarczenie pełnych dowodów ataku tzw. POC (proof of concept). Ma to na celu potwierdzenia tego, że raportowane błędy… Continue reading