JWT Doğrulamasının Yapılmaması (ARCH7126)
Anahtar php.security.jwt-no-validation · Önem error · Kategori security · CWE CWE-347
İmza doğrulaması yapmadan JWT çözmek (payload’ı doğrudan okumak veya alg: none kabul etmek), saldırganın istediği claim’lerle sahte token üretmesine olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”<?php[$header, $payload, $sig] = explode('.', $token);$claims = json_decode(base64_decode($payload), true); // imza doğrulanmadı$userId = $claims['sub'];<?php$claims = JWT::decode($token, new Key(getenv('JWT_KEY'), 'HS256')); // imza doğrulanır$userId = $claims->sub;Düzeltme
Bölüm başlığı “Düzeltme”JWT’leri her zaman beklenen algoritma ve anahtarla doğrulayın; none algoritmasını ve doğrulamasız çözmeyi reddedin.