La vulnérabilité que nous avons examinée était l'inclusion finale et nous avons examiné deux types d'inclusion de
fichier local nous permettant d'inclure n'importe quel fichier sur le système, puis de lire les fichiers, ce qui entraînerait
une vulnérabilité de divulgation de fichier.
Et vous pourrez alors lire n’importe quel fichier sur le serveur.
Nous avons ensuite examiné l'inclusion de fichiers distants, ce qui est très dangereux et nous permettait d'inclure n'importe quel fichier
à partir de n'importe quel serveur Web.
Nous avons donc pu inclure les tablettes BHB, puis établir une connexion à partir de l'ordinateur de la cible pour les empêcher.
Tout d’abord, assurez-vous d’empêcher l’intrusion de fichiers distants.
Donc, juste au cas où quelque chose ne va pas, les gens peuvent inclure des fichiers extérieurs à votre serveur
et vous pouvez le faire de la même manière que nous l'avons activé à l'aide du BHB uniquement en désactivant l'option Autoriser vous-même
et autoriser l'inclusion.
Et si nous allons à notre présentoir, je vais vous montrer très rapidement.
Nous faisons donc pseudo Nano qui est l'éditeur de texte c'est le lecteur de page PTG IPH.
J'ai besoin du même fichier que nous utilisons.
Ceci est le fichier pour les paramètres HP.
Si vous ouvrez ce fichier et que je vais faire un contrôle, je vais chercher votre el et vous assurez-vous
que l'option Autoriser vous-même ouvert est activée et que vous autorisez également l'inclusion d'un ensemble.
Contrôlez X Y et entrez et cela le gardera pour vous.
L'autre moyen d'éviter ces exploits consiste à utiliser l'inclusion de fichier statique.
Ainsi, au lieu d'utiliser l'inclusion dynamique de fichier que nous voyons, vous pouvez coder en dur les fichiers que vous souhaitez inclure
dans le code sans les obtenir à l'aide de GET ou POST.
Par exemple, ce qui se passe et les exemples que nous voyons dans les exemples vulnérables,
c’est que nous avons une page appelée Page ou un index que BHP, puis cet index, qui prend un paramètre appelé page, puis une autre
page, par exemple, que Ph. RÉ. et il inclut cette nouvelle BHB dans le code.
Alors, à quoi ressemble le code dans le code APHC, vous verrez quelque chose comme.
Incluez donc
ce que cela va faire.
En gros, cela ressemble à ceci, je crois ce que cela fait.
Cela inclut tout ce qui vient après le paramètre page.
Ainsi, le code prend dynamiquement tout ce qui vient après le paramètre page et l’inclut dans la page en
cours.
Donc, ce sera dans la page d'index.
Ok, c’est très grave parce que même si cela n’arrive pas parfois, les gens utilisent post et post, vous ne
verrez pas cela, alors ce sera posté.
Mais vous pouvez utiliser un proxy tel que le proxy Barer et cela ressemblerait à cela.
Et ensuite, vous pouvez le modifier et le faire inclure tout ce que vous voulez.
Et ensuite, il est affiché sur la page où vous voulez vraiment faire, nous voulons utiliser ou ne pas
pouvoir manipuler ce qui va être inclus.
Donc, si vous voulez inclure une page appelée news que BHB vient d’inclure à l’intérieur de celle-ci sans donner à
l’utilisateur la possibilité de la modifier, je sais que vous allez programmer votre code pour qu’il ressemble
à ceci.
Mais les utilisateurs que nous connaissons voient comment ils peuvent jouer avec cela et leur demander d'inclure tout ce qu'ils
veulent.
La meilleure façon de le faire est donc simplement de l’inclure page par page.
Donc, votre code n'utilise aucune variable.
C'est dur codé.
Cela pourrait rendre votre code LOEG plus long mais beaucoup plus sécurisé.
Et c’est exactement ce que fait l’option haute sécurité.
Revenons donc d'abord à l'intrusion de fichier.
Et nous sommes au bas et si je regarde la source maintenant, vous verrez que fichier est ce que vous avez transmis,
le fichier mot est ce que nous le transmettons ici dans le paramètre après la page.
Et vous pouvez voir qu'il essaie d'afficher tout ce que nous lui envoyons.
Ainsi, lorsque nous envoyons ce mot de passe ATC, il nous indique le mot de passe ATC.
Maintenant, je vais en fait garder cela ouvert et je vais passer par le niveau de sécurité à travers
la sécurité et je vais le mettre sur haut.
Maintenant, le support est similaire au low, vous pouvez donc l'utiliser comme vous pouvez l'exploiter de la même manière que nous
avons exploité la charge.
Donc, nous allons tout de suite au sommet et nous allons voir la source et je vais simplement minimiser cela parce qu'ils ont les
deux sources non pour que nous puissions les comparer.
Comme vous pouvez le voir ici, dans le niveau de sécurité faible et moyen,
vous pouvez voir que tout ce que nous passons dans le fichier est très variable, alors nous
le verrons alors que le niveau de sécurité élevé indique autorisé uniquement à nous montrer le fichier d’inclusion afin que vous puissiez modifier cette
instruction if.
Si vous souhaitez inclure un certain nombre de fichiers, vous pouvez les autoriser ici ou les afficher
dans une liste.
Mais fondamentalement, le concept est que vous n'autorisez que les fichiers que l'utilisateur est autorisé à voir.
Donc, vous pouvez simplement les avoir dans une liste ici, vous pouvez utiliser une instruction OR ou vous pouvez
simplement avoir une liste et dire si le fichier est dans cette liste puis affiché sinon donner une erreur disant que le fichier n'est pas trouvé.
Donc, évitez cela avec la méthode codée en dur.
Oui, ça n'a pas l'air aussi joli que ça, mais c'est beaucoup plus sécurisé.