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

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

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

Programowalny „pendrive” czyli jak szybko przejąć komputer

Programowalny "pendrive"

Dzisiaj wpis będący formą tutorialu jak niskim kosztem stworzyć własny programowalny pendrive na wzór drogiego i popularnego Rubber Ducky od Hak5. Będzie on działał na zasadzie klawiatury – podłączony do komputera wpisuje wcześniej zaprogramowaną sekwencję klawiszy. Pierwszym krokiem jest zakup miniaturowej płytki Arduino opartej na mikrokontrolerze ATtiny85 – Digispark. Najtaniej można… Continue reading

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

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

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

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 ujawnia… Continue reading

Odkrywanie aplikacji

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

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

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