İçeriğe atla
Noroxi

CWE-639 · 3.155 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.

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.

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);

Kodunuzda bu kalıp var mı?

Web ve API sızma testi kapsamında bu sınıfı özellikle arıyoruz. Bulgular satır numarasıyla teslim edilir.

Bu sınıftaki CVE’ler

3.173 kayıt

Tüm zafiyet sınıfları