Toplu Atama (ARCH5129)
Anahtar go.security.mass-assignment · Önem warning · Kategori security · CWE CWE-915
İstek gövdesini doğrudan bir modele bağlayıp kaydetmek, saldırganın IsAdmin gibi korunması gereken alanları ayarlamasına olanak tanır. Yalnızca izin verilen alanlar atanmalıdır.
Hatalı
Bölüm başlığı “Hatalı”var user Userjson.NewDecoder(r.Body).Decode(&user) // IsAdmin dahil her alandb.Create(&user)var req struct { Name string `json:"name"` Email string `json:"email"`}json.NewDecoder(r.Body).Decode(&req)user := User{Name: req.Name, Email: req.Email}db.Create(&user)Düzeltme
Bölüm başlığı “Düzeltme”Girdiyi yalnızca izin verilen alanları içeren bir DTO’ya bağlayın ve modeli açıkça doldurun.