İşletim sistemi komut enjeksiyonu (ARCH6102)
Anahtar ruby.security.os-command-injection · Önem error · Kategori security · CWE CWE-78
Komut dizesini güvenilmeyen girdiden kurmak veya komutu bir kabuk üzerinden çalıştırmak, saldırganın keyfi komut enjekte etmesine olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”def ping(host) `ping -c 1 #{host}`enddef ping(host) out, _ = Open3.capture2("ping", "-c", "1", host) outendDüzeltme
Bölüm başlığı “Düzeltme”Kabuk yerine argümanları dizi olarak geçen API’leri (Open3, system dizi formu) kullanın; asla girdiyi komuta interpole etmeyin.