İçeriğe geç

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.

Process.Start("cmd.exe", "/c ping " + userHost);
var psi = new ProcessStartInfo("ping") { UseShellExecute = false };
psi.ArgumentList.Add(userHost);
Process.Start(psi);

ArgumentList ile argümanları ayrı geçirin, UseShellExecute = false ayarlayın ve girdiyi kabuk komut dizesine birleştirmeyin.