İçeriğe geç

İş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.

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)

shell=True kullanmayın; komut ve argümanları liste halinde geçirin ve girdiyi doğrulayın.