İşletim sistemi komut enjeksiyonu (ARCH2102)
Anahtar python.security.os-command-injection · Önem error · Kategori security · CWE CWE-78
Komut dizesini güvenilmeyen girdiden oluşturmak veya shell=True ile çalıştırmak, saldırganın keyfi komut çalıştırmasına olanak tanır. Argümanları liste olarak geçin.
Hatalı
Bölüm başlığı “Hatalı”import subprocess
def ping(host): subprocess.run("ping -c 1 " + host, shell=True)import subprocess
def ping(host): subprocess.run(["ping", "-c", "1", host], shell=False)Düzeltme
Bölüm başlığı “Düzeltme”shell=True kullanmayın; komut ve argümanları liste halinde geçirin ve girdiyi doğrulayın.