Ana Sayfa / Laboratuvarlar / JWT "alg: none" İmza Atlama ve Sahtecilik Zafiyeti
Kimlik Doğrulama & Kriptografi (JWT Security) Orta Seviye (Practitioner) ⏱️ 15 Dakika 🛡️ OWASP Top 10 - A02: Cryptographic Failures

JWT "alg: none" İmza Atlama ve Sahtecilik Zafiyeti

Sunucuların JWT doğrularken algoritma başlığını (alg) istemciden gelen none değerine güvenerek imzasız tokenları kabul etmesi sonucu oluşan kritik kimlik doğrulama zafiyetidir.

Laboratuvarı Tarayıcınızda Canlı Deneyin

Kurulumsuz, sanal hedef tarayıcı ve web terminali ile doğrudan zafiyeti istismar edin.

Laboratuvara Gir ⚡

Görev ve Zafiyet Senaryosu

API uç noktası gelen Authorization Bearer tokenını çözerken algoritmayı header içerisinden okumakta ve "none" geldiğinde imza doğrulamasını atlamaktadır. Saldırgan rolü "admin" yaparak şifresiz token oluşturur.

Hedef (Objective)

🎯 Görev: Token başlığında "alg": "none" tanımlayıp imza kısmını silerek sunucuya yönetici (admin) rolünde sahte bir token gönderin ve kasa kilidini açın.

Adım Adım Çözüm Metodolojisi

1

Token Ayrıştırma

Mevcut JWT belirtecini Base64url formatında ayrıştırıp başlık ve yük içeriğini inceleyin.

2

Algoritmayı "none" Yapma

Başlıktaki alg değerini "none" olarak değiştirip payload içindeki role değerini "admin" yapın.

3

İmzasız İstek Gönderme & Bayrak

Tokenın üçüncü (imza) kısmını boş bırakarak Authorization başlığıyla API kasasına istek atın.

Örnek Payload ve İstismar Kalıpları

eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJyZ2xlIjoiYWRtaW4iLCJ1c2VyIjoiYWRtaW4ifQ.
Bearer eyJhbGciOiJOT05FIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0NTY3ODkwIiwicm9sZSI6ImFkbWluIn0.

Güvenli Kodlama ve Savunma Mekanizmaları

Zafiyet Nasıl Kapatılır?

  • Sunucuda beklenen algoritmayı (örn: HS256 veya RS256) açıkça zorunlu kılın (whitelisting).
  • alg: none başlığını kesinlikle reddeden güncel ve test edilmiş JWT kütüphaneleri kullanın.
  • Gizli anahtarları (HMAC secret / RSA private key) güvenli ortam değişkenlerinde saklayın.

Uygulamaya Başlamaya Hazır mısınız?

SiberAdam interaktif arenasında hedef tarayıcı, DevTools ve CyberTerminal ile bayrağı hemen yakalayın.

Şimdi Çözmeye Başla ⚡