Monthly Archives: luty 2018

Jak uczyć się „hakować” aplikacje… ?

Jak wspomaniałem w jednym z poprzednim wpisów oraz na stronie „O mnie„, obecnie zajmuję się szeroko pojętym bezpieczeństwem aplikacji. Nie zawsze tak było. Przez pronad 13 lat byłem programistą i pisałem różne aplikacje, w wielu różnych językach. Czasami zdarzało się, że w jednym czasie wykorzystywałem 4: PHP, SQL, Java, Visual Basic (był taki czas w… Read More »

Autoryzacja i uwierzytelnianie w prostym projekcie

Razem z kolegą zaczynamy bardzo mały projekt. Jak wstępnie ustaliliśmy składać się on będzie z dwóch podstawowych elementów: usługi serwującej dane i aplikacji mobilnej. Do tego pewnie potrzebny będzie jakiś panel administratora i to pewnie będzie prosta strona WWW. Projekt jest dla mnie nowy przede wszystkim ze względu na to, że chcemy go napisać w… Read More »

Historia pewnego zadania – SQL Injection i zepsute uwierzytelnianie

Dzisiaj chciałbym opisać rozwiązanie jednego z zadań pokazujących przykład złej implementacji autoryzacji w aplikacji webowej. Zadanie polegało na zalogowaniu się na konto admina w celu zdobycia odpowiedniej flagi. Po wejściu na stronę naszym oczom ukazuje się prosty formularz logowania z polami do wpisania użytkownika i hasła. Pierwszy krok to analiza kodu źródłowego, gdzie zauważam komentarz… Read More »

Czy Siri albo Alexa mogą mi zaszkodzić?

Kilka dni temu przeglądając Facebook’a natrafiłem na filmik, w którym autor oglądał vloga MiroBurn, na którym Mirek wydaje polecenie dla urządzenia Amazon Echo. W tym samym momencie autor filmiku miał również włączonego głosowego asystenta od Amazona. Jak się okazało jego asystent uruchomił się nieoczekiwanie na polecenie wydane przez Mirka w swoim filmie. Nasunęło mi to pewien… Read More »

XSS – prosty atak na stronę z formularzem

Jakiś czas temu rejestrowałem się na pewnej stronie internetowej. Podczas procesu rejestracji zauważyłem, że po wypełnieniu formularza, w następnym kroku, wpisane przeze mnie dane wyświetlone są w celu ich potwierdzenia. Dodatkowo mogłem cofnąć się do formularza i poprawić wprowadzane dane. Takie zachowanie, zwykle kusi mnie, aby sprawdzić, czy autor aplikacji prawidłowo radzi sobie z ochroną przed atakiem… Read More »

Kanonizacja – przepis na bezpieczne przetwarzanie danych

Każda istniejąca aplikacja w internecie działa na podstawie danych jakie są do niej wprowadzane. Podstawową daną jest adres zasobu, zwany ogólnie URI (Unique Resource Identificator), który jednoznacznie identyfikuje miejsce z jakiego serwer aplikacji ma pobrać zasób. Możliwe jest wprowadzanie danych jako parametrów wejściowych, dodatkowo identyfikujących zasób lub definiujących jego zachowanie. Technolgia internetowa przewiduje wiele różnych… Read More »

KISS – prostota drogą do sukcesu

Proste jest piękne. Proste jest łatwe. 🙂 Prostota – to słowo, które każdy programista powinien wbić sobie do głowy i pamiętać o nim zawsze, gdy implementuje rozwiązanie jakiegoś problemu. Niestety, nie jest łatwo. Mnogość technologii, frameworków, technik programowania jest tak duża, że niemal każde zadanie można rozwiązać na wiele różnych, mniej lub bardziej, skomplikowanych sposobów.… Read More »

Programowanie defensywne

Bezpieczeństwem systemów zajmuję się mniej więcej od 4 lat, a od nieco ponad dwóch jestem osobą odpowiedzialną za bezpieczeństwo kodu wytwarzanego w kilku zespołach programistycznych. Podczas przeglądów kodu różnych projektów, natrafiam na różne błędy, które niestety od czasu do czasu mogą dość poważnie zagrozić aplikacji. Zauważyłem też, że spora część błędów wynika z jednego bardzo… Read More »

Czy numer IP jest daną osobową?

Kilka dni temu zostało mi zadane pytanie jak w tytule. Pytanie wynikało z potrzeby dostosowania się do warunków nowej dyrektywy UE GDPR/RODO, która nakłada sporo nowych obowiązków na administratorów danych w przedsiębiorstwach. Składowanie numeru IP może mieć bardzo wiele zastosowań, począwszy na zwykłym logowaniu/monitorowaniu ruchu, przez wykrywanie oszustw, a skończywszy na filtrowaniu dostępu do poszczególnych… Read More »

Jak sprawdzić czy Twój antywirus działa?

Od pewnego czasu rozwiązuję zadania na różnych portalach z wyzwaniami. Robię to aby się uczyć jak przełamywać zabezpieczenia, gdyż w tym roku mam w planie potwierdzić swoje umiejętności jakimś certyfikatem bądź certyfikatami z zakresu Ethical Hackingu lub przeprowadzania pentestów aplikacji. Ostatnio trafiłem na dość ciekawe zadanie typu CTF (capture the flag), w którym należało potwierdzić,… Read More »