Skip to content

Conversation

@Nexonus
Copy link

@Nexonus Nexonus commented Nov 30, 2025

Task 3 - Konarski Jan
Zadanie 1: Przygotowanie testów jednostkowych:

Unittest_1 Unittest_2

W zadaniu 1 przygotowano testy jednostkowe badające, poprawne dane, niepoprawne, ekstremalne. Po dodaniu polecenia w Dockerze do uruchomieniu testów, pliku nie można zbudować z racji na to, że nie przeszedł testów. (Zgodnie z założeniami zadania.)

Zadanie 2: Token JWT oraz usunięcie podatności:

JWT_1 JWT_2 JWT_3

Token JWT służy w celu uwierzytelniania użytkownika do API. Zakodowan jest (nie zaszyfrowane!) przy pomocy Base64, z racji na to, możemy taki ciąg znaków edytować i podstawiać. Zaglądając do kodu widzimy, że algorytm akceptuje dwie metody szyfrowania albo HS256, albo None, czyli bez szyfrowania. Podstawiamy jako pierwszą opcję none, a końcowy ciąg danych (hash) usuwamy, aby algorytm przepuścił próbę zalogowania się do systemu. W tej sytuacji wystarczy podmienić nazwę i ID użytkownika na konto Administratora (potencjalnie z wycieku danych), aby poprawnie zalogować się do systemu. Usunięcie podatności wymaga usunięcia metody uwierzytelniania bez algorytmu szyfrowania. Po takim zabiegu próba ataku zostaje uniemożliwiona.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant