İçeriğe geç

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.

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}")

Dahil edilebilecek modül/dosya adlarını sabit bir izin listesine sınırlayın; ham yol girdisi kullanmayın.