OS komut enjeksiyonu (ARCH4102)
Anahtar java.security.os-command-injection · Önem error · Kategori security · CWE CWE-78
Komut dizesini güvenilmeyen girdiden oluşturmak veya bir kabuk üzerinden çalıştırmak, saldırganların ; veya | gibi metakarakterlerle keyfi komut çalıştırmasına izin verir.
Hatalı
Bölüm başlığı “Hatalı”String host = request.getParameter("host");Runtime.getRuntime().exec("ping -c 1 " + host);String host = request.getParameter("host");new ProcessBuilder("ping", "-c", "1", host).start();Düzeltme
Bölüm başlığı “Düzeltme”Komutu ve argümanlarını ayrı bir dizi olarak ProcessBuilder’a verin; kabuk yorumlamasından ve dize birleştirmeden kaçının.