Dosya dahil etme enjeksiyonu (ARCH2139)
Anahtar python.security.file-inclusion-injection · Önem critical · Kategori security · CWE CWE-98
Dahil edilecek modül veya şablon yolunu kullanıcı girdisinden almak, saldırganın isteğe bağlı yerel dosyaları yüklemesine ve kötü amaçlı kod çalıştırmasına (LFI/RFI) olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”import importlib
def load(request): name = request.GET["module"] return importlib.import_module(name)import importlib
ALLOWED = {"reports", "exports"}
def load(request): name = request.GET["module"] if name not in ALLOWED: raise Http404 return importlib.import_module(f"plugins.{name}")Düzeltme
Bölüm başlığı “Düzeltme”Dahil edilebilecek modül/dosya adlarını sabit bir izin listesine sınırlayın; ham yol girdisi kullanmayın.