OS command injection (ARCH316)
Anahtar dotnet.security.os-command-injection · Önem error · Kategori security · CWE CWE-78
Kullanıcı girdisini bir kabuk komut satırına birleştirmek saldırganın ek komut enjekte etmesine olanak tanır. Argümanları kabuk olmadan ayrı ayrı geçirin.
Hatalı
Bölüm başlığı “Hatalı”Process.Start("cmd.exe", "/c ping " + userHost);var psi = new ProcessStartInfo("ping") { UseShellExecute = false };psi.ArgumentList.Add(userHost);Process.Start(psi);Düzeltme
Bölüm başlığı “Düzeltme”ArgumentList ile argümanları ayrı geçirin, UseShellExecute = false ayarlayın ve girdiyi kabuk komut dizesine birleştirmeyin.