Skip to content

Conversation

@pokermonik
Copy link

Zad 1 - zaimplementowano testy dla klasy customer (model.py)
Zad 2.
Działający token, którym można złamać system: { "jwt_token":"eyJhbGciOiJub25lIn0.IHsKICAgICAgICAgICAgImFjY291bnQiOiAiQWRtaW5pc3RyYXRvciIsCiAgICAgICAgICAgICJyb2xlIjogIlVzZXIiLAogICAgICAgICAgICAiaWF0IjogMTcwMTcyMjg1NiwKICAgICAgICAgICAgImF1ZCI6ICJodHRwczovLzEyNy4wLjAuMS9qd3Qvbm9uZSIKICAgICAgICB9."
}

JWT W celu skonstruowania takiego tokenu, należy: 1. Pozyskać poprawny token, np dla normalnego użytkownika 2. Zmienić format z header.payload.signature na header.payload. 3. Wziąć środkowy format, zdekodować go, następnie zamienić użytkownika, typ użytkownika na np. "administrator" i zakodować spowrotem na base64 4. Zmienić header, aby algorytm szyfrujący był "None", czyli: "eyJhbGciOiJub25lIn0"

Zad 3.
Aby naprawić ten bląd, wystarczy nie przyjmować tokenów, które nie posiadają algorytmu szyfrującego, czyli właśnie te, które mają "None".
JWT2
Wtedy taki token nie będzie mógł złamać systemu.

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