İçeriğe atla
Noroxi

CWE-639 · 2.471 kayıt

Kullanıcı kontrollü anahtarla yetki atlatma

Neden olur?

Uç nokta kaydı istekte gelen kimlikle getiriyor, ama kaydın isteyen kullanıcıya ait olup olmadığını sormuyor.

Hatalı ve düzeltilmiş kod

Temsili ders örneği. Vurgulu satırlar hatanın ve düzeltmenin yeridir.

Hatalı

ts
const invoice = await Invoice.findById(req.params.id);res.json(invoice);

Düzeltilmiş

ts
const invoice = await Invoice.findOne({  id: req.params.id,  ownerId: req.user.id,});if (!invoice) return res.sendStatus(404);res.json(invoice);

Nasıl önlenir?

  1. 01Her sorguya oturumdaki kullanıcıyı koşul olarak ekleyin.
  2. 02Sahiplik kontrolünü tek bir yetkilendirme katmanında toplayın.
  3. 03İki farklı hesapla karşılıklı erişim testleri yazın.

Bu sınıftaki CVE’ler

2.474 kayıt

Tüm zafiyet sınıfları