İçeriğe geç

Dosya Dahil Etme Enjeksiyonu (ARCH7139)

Anahtar php.security.file-inclusion-injection · Önem critical · Kategori security · CWE CWE-98

include/require ile dahil edilen yolun kullanıcı girdisinden gelmesi yerel/uzak dosya dahil etme (LFI/RFI) sağlar. Saldırgan keyfi PHP dosyalarını çalıştırarak RCE elde edebilir.

<?php
$page = $_GET['page'];
include $page . '.php'; // ../../etc/passwd, http://kötü/shell
<?php
$pages = ['home' => 'home.php', 'about' => 'about.php'];
$page = $_GET['page'] ?? 'home';
if (isset($pages[$page])) {
include __DIR__ . '/views/' . $pages[$page];
}

Dahil edilecek dosyayı sabit bir izin listesiyle eşleyin; yolu asla doğrudan kullanıcı girdisinden oluşturmayın.