ਹਮਲਾਵਰ ਪ੍ਰਭਾਵ
ਗਲਤ JWT ਪ੍ਰਮਾਣਿਕਤਾ ਹਮਲਾਵਰਾਂ ਨੂੰ ਜਾਅਲੀ ਦਾਅਵੇ ਜਾਂ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ ਟੋਕਨਾਂ [S1] ਦੀ ਮੁੜ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿਧੀ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਜੇਕਰ ਇੱਕ ਸਰਵਰ ਇੱਕ ਵੈਧ ਹਸਤਾਖਰ ਦੇ ਬਿਨਾਂ ਟੋਕਨਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਇੱਕ ਹਮਲਾਵਰ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਪੇਲੋਡ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਕਿਸੇ ਵੀ ਉਪਭੋਗਤਾ [S1] ਦੀ ਨਕਲ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮਿਆਦ ਪੁੱਗਣ (exp) ਦਾਅਵੇ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋਣਾ ਇੱਕ ਹਮਲਾਵਰ ਨੂੰ ਇੱਕ ਸਮਝੌਤਾ ਟੋਕਨ ਨੂੰ ਅਣਮਿੱਥੇ ਸਮੇਂ ਲਈ [S1] ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਮੂਲ ਕਾਰਨ
ਇੱਕ JSON ਵੈੱਬ ਟੋਕਨ (JWT) ਇੱਕ JSON-ਆਧਾਰਿਤ ਢਾਂਚਾ ਹੈ ਜੋ ਉਹਨਾਂ ਦਾਅਵਿਆਂ ਦੀ ਨੁਮਾਇੰਦਗੀ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਡਿਜੀਟਲ ਤੌਰ 'ਤੇ ਹਸਤਾਖਰਿਤ ਜਾਂ ਅਖੰਡਤਾ ਨਾਲ ਸੁਰੱਖਿਅਤ [S1] ਹਨ। ਸੁਰੱਖਿਆ ਅਸਫਲਤਾਵਾਂ ਆਮ ਤੌਰ 'ਤੇ ਦੋ ਪ੍ਰਾਇਮਰੀ ਲਾਗੂਕਰਨ ਅੰਤਰਾਂ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ:
- ਅਸੁਰੱਖਿਅਤ JWTs ਦੀ ਸਵੀਕ੍ਰਿਤੀ: ਜੇਕਰ ਕੋਈ ਸੇਵਾ ਦਸਤਖਤ ਤਸਦੀਕ ਨੂੰ ਸਖਤੀ ਨਾਲ ਲਾਗੂ ਨਹੀਂ ਕਰਦੀ ਹੈ, ਤਾਂ ਇਹ "ਅਸੁਰੱਖਿਅਤ JWTs" 'ਤੇ ਕਾਰਵਾਈ ਕਰ ਸਕਦੀ ਹੈ ਜਿੱਥੇ ਦਸਤਖਤ ਗੈਰਹਾਜ਼ਰ ਹਨ ਅਤੇ ਐਲਗੋਰਿਦਮ "ਕੋਈ ਨਹੀਂ" [S1] 'ਤੇ ਸੈੱਟ ਹੈ। ਇਸ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਵਿੱਚ, ਸਰਵਰ ਪੇਲੋਡ ਵਿੱਚ ਦਾਅਵਿਆਂ ਨੂੰ ਉਹਨਾਂ ਦੀ ਅਖੰਡਤਾ [S1] ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੇ ਬਿਨਾਂ ਭਰੋਸਾ ਕਰਦਾ ਹੈ।
- ਗੁੰਮ ਹੋਏ ਦਾਅਵੇ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ:
exp(ਮਿਆਦ ਸਮਾਪਤੀ ਦਾ ਸਮਾਂ) ਦਾਅਵਾ ਉਸ ਸਮੇਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਜਾਂ ਉਸ ਤੋਂ ਬਾਅਦ JWT ਨੂੰ [S1] ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।aud(ਦਰਸ਼ਕ) ਦਾਅਵਾ [S1] ਟੋਕਨ ਦੇ ਇੱਛਤ ਪ੍ਰਾਪਤਕਰਤਾਵਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਇਹਨਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ, ਤਾਂ ਸਰਵਰ ਉਹਨਾਂ ਟੋਕਨਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ ਹਨ ਜਾਂ ਇੱਕ ਵੱਖਰੀ ਐਪਲੀਕੇਸ਼ਨ [S1] ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਸਨ।
ਕੰਕਰੀਟ ਫਿਕਸ
- ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਹਸਤਾਖਰਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ: ਕਿਸੇ ਵੀ JWT ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ ਜੋ ਪੂਰਵ-ਪ੍ਰਵਾਨਿਤ, ਮਜ਼ਬੂਤ ਸਾਈਨਿੰਗ ਐਲਗੋਰਿਦਮ (ਜਿਵੇਂ ਕਿ RS256) ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦਾ ਹੈ।
- ਮਿਆਦ ਸਮਾਪਤੀ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰੋ: ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਲਾਜ਼ਮੀ ਜਾਂਚ ਨੂੰ ਲਾਗੂ ਕਰੋ ਕਿ ਮੌਜੂਦਾ ਮਿਤੀ ਅਤੇ ਸਮਾਂ
expਦਾਅਵੇ [S1] ਵਿੱਚ ਦੱਸੇ ਗਏ ਸਮੇਂ ਤੋਂ ਪਹਿਲਾਂ ਹਨ। - ਦਰਸ਼ਕ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ: ਯਕੀਨੀ ਬਣਾਓ ਕਿ
audਦਾਅਵੇ ਵਿੱਚ ਸਥਾਨਕ ਸੇਵਾ ਦੀ ਪਛਾਣ ਕਰਨ ਵਾਲਾ ਮੁੱਲ ਸ਼ਾਮਲ ਹੈ; ਜੇaudਦਾਅਵੇ ਵਿੱਚ ਸੇਵਾ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ, ਤਾਂ ਟੋਕਨ ਨੂੰ [S1] ਨੂੰ ਰੱਦ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। - ਰੀਪਲੇਅ ਨੂੰ ਰੋਕੋ: ਹਰੇਕ ਟੋਕਨ ਲਈ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ
jti(JWT ID) ਦਾਅਵੇ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਸਰਵਰ ਨੂੰ ਮੁੜ-ਵਰਤੇ ਟੋਕਨਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਅਤੇ ਰੱਦ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਖੋਜ ਰਣਨੀਤੀ
JWT ਹੈਂਡਲਿੰਗ ਵਿੱਚ ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਟੋਕਨ ਢਾਂਚੇ ਅਤੇ ਸਰਵਰ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿਵਹਾਰ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਕੇ ਪਛਾਣਿਆ ਜਾ ਸਕਦਾ ਹੈ:
- ਸਿਰਲੇਖ ਨਿਰੀਖਣ:
alg(ਐਲਗੋਰਿਦਮ) ਸਿਰਲੇਖ ਦੀ ਜਾਂਚ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇਹ "ਕੋਈ ਨਹੀਂ" 'ਤੇ ਸੈੱਟ ਨਹੀਂ ਹੈ ਅਤੇ ਉਮੀਦ ਕੀਤੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਮਿਆਰ [S1] ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। - ਦਾਅਵੇ ਦੀ ਪੁਸ਼ਟੀ: JSON ਪੇਲੋਡ [S1] ਦੇ ਅੰਦਰ
exp(ਮਿਆਦ ਸਮਾਪਤੀ) ਅਤੇaud(ਦਰਸ਼ਕ) ਦਾਅਵਿਆਂ ਦੀ ਮੌਜੂਦਗੀ ਅਤੇ ਵੈਧਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ। - ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂਚ: ਜੇਕਰ ਸਰਵਰ
expਦਾਅਵੇ ਦੇ ਅਨੁਸਾਰ ਮਿਆਦ ਪੁੱਗ ਚੁੱਕੇ ਟੋਕਨਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਦ ਕਰਦਾ ਹੈ ਜਾਂaudਦਾਅਵੇaudਦਾਅਵੇ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੇ ਅਨੁਸਾਰ ਵੱਖਰੇ ਦਰਸ਼ਕਾਂ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਹਨ, ਤਾਂ ਜਾਂਚ।
