Parlons de la manière dont nous pouvons prévenir ces vulnérabilités maintenant.
La première chose à faire est qu’un grand nombre de ces vulnérabilités existent à cause des fonctionnalités qu’elles fournissent.
Par exemple, le problème de téléchargement de fichier que nous avons eu.
Il permet à l'utilisateur de télécharger n'importe quelle extension de fichier, quel que soit son type.
Cela ne devrait pas arriver.
Les utilisateurs ne devraient pas avoir le moyen de télécharger les fichiers qu’ils souhaitent.
Peut-être que si vous voulez qu'ils téléchargent une image, assurez-vous qu'ils téléchargent une image, vérifiez les types
de fichier.
Si vous attendez d'eux qu'ils téléchargent une chanson dans un fichier vide de trois, assurez-vous qu'il s'agit d'un fichier multimédia.
Ce n'est pas un code BHP ou un code exécutable.
Habituellement, vous ne devriez jamais autoriser les utilisateurs à télécharger des filtres exécutables. Vous pouvez utiliser des filtres pour vérifier si l'extinction est vérifiée et
pour vous assurer que le fichier téléchargé est un fichier JPEG ou autre, mais ce n'est pas une
bonne façon.
Le meilleur moyen est de vérifier le type de fichier et de vous assurer que le type de fichier est une image
ou un fichier multimédia au lieu de vérifier l'extension, car cela peut également être ignoré.
Le deuxième type de vulnérabilités que nous avons examiné était celui des vulnérabilités d'exécution du
code. Nous avons pu exécuter le code voulu sur l'ordinateur cible.
Encore une fois, cette fonctionnalité devrait être évitée.
Évitez d’autoriser les utilisateurs à exécuter du code sur votre serveur.
Essayez d'éviter toutes ces fonctions telles que le transfert évolué et toutes ces fonctions qui
permettent à un utilisateur d'exécuter le code du système d'exploitation sur le serveur si vous devez absolument utiliser
quelque chose de similaire, puis assurez-vous d'analyser l'entrée avant de l'exécuter.
Par exemple, dans l'exemple ci-dessous, nous avons constaté que le code faisait un ping et pensait tout ce que nous mettons dans la zone
de texte.
Donc, je mets ici slash la zone de texte juste pour montrer que c'est l'entrée que nous avons mise dans la zone de texte.
Voici à quoi ressemble le programme s'il semble trop compliqué, oubliez-le.
Nous ne parlons que du concept ici.
Donc, nous allons parler de cette année, alors dites par exemple que vous avez mis ce que nous avons fait est de
mettre une adresse IP normale et ensuite nous mettons le point-virgule et ensuite nous mettons une commande que nous voulions faire, nous l'avons fait
par exemple pour les compagnies aériennes L. UNE. Le problème avec ceci est l’application Web utilisée
pour prendre cela de la façon dont elle est copiée et l’exécuter ici. Lorsque vous exécuterez cette commande, elle fera d’abord le rose puis
les Alliés L. UNE. qui est la commande que nous voulions.
Ce que vous devez faire, c'est par exemple si vous deviez le faire, mais je vous conseille de ne pas utiliser ces
fonctions si vous deviez utiliser une fonction comme celle-ci.
Ensuite, ce que vous devez faire est de vérifier que l’entrée correspond à ce que vous attendez. Par exemple, vous
attendez une adresse IP et rien d’autre.
Ainsi, vous pouvez utiliser des projets pour vous assurer que je ne vais pas parler de projets ou de projets
rejetés est une règle qui garantit que les entrées ont la même forme.
Donc, il faut un chiffre digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit digit
digit digit digit digit digit digit digit digit digit digit digit en digit plutôt en digit deux que si je mets autre chose que l'application web devrait le refuser.
Vous pouvez également vous assurer qu'il n'y a pas de point-virgule et qu'il n'y a pas d'espaces.
Donc, tout entre comme une chose et ensuite il est exécuté.
Encore une fois, c’est une façon de le rendre plus sûr, mais la meilleure chose à faire est
d’éviter ces fonctions. Le troisième type de vulnérabilité que nous avons examiné était
l’inclusion de fichiers. sur le système, puis lisez les fichiers, ce qui entraînera une
vulnérabilité de divulgation des fichiers.
Ensuite, vous pourrez lire n’importe quel fichier sur le serveur, puis nous avons examiné l’inclusion de fichier
distant, 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 schistes BHP, puis établir une connexion à partir de l'ordinateur de la cible pour les empêcher,
tout d'abord, assurez-vous d'empêcher l'inclusion de fichier à distance.
Ainsi, au cas où quelque chose ne va pas, les personnes ne peuvent pas inclure de fichiers extérieurs à votre serveur et
vous pouvez le faire de la même manière que nous l'avons activé à l'aide de la page située derrière moi en
désactivant l'option Autoriser vous-même et autoriser l'inclusion.
Et si nous allons ici pour bien exploiter, je vais vous montrer très vite.
Donc, si nous faisons le pseudo Nano qui est l’éditeur de texte, c’est le même fichier que nous avons
utilisé.
Ceci est le fichier pour les paramètres HP.
Si vous ouvrez ce fichier et que maintenant je vais faire le contrôle, je vais autoriser votre URL et
vous assurer que votre Elif est ouvertement, et que votre inclusion est également
désactivée.
Contrôlez x y et entrez et cela vous le
sauvegardera; l'autre moyen d'éviter ces exploits est d'utiliser l'inclusion de fichier statique.
Ainsi, au lieu d'utiliser l'inclusion dynamique de fichier que nous voyons et que vous pouvez
coder en dur les fichiers que vous souhaitez inclure dans le code et ne
pas les obtenir en utilisant get ou post par exemple, page appelée page ou index que BHP puis cet index fait.
BHP prend un paramètre appelé page, puis une autre page, par exemple, qui indique que BHP inclut ce
nouvel espace dans le code.
Alors, à quoi ressemble le code dans le code de page, vous verrez quelque chose comme inclure.
Donc, ce que cela va faire fondamentalement et qui ressemble à ceci, je crois ce que cela fait.
Il inclut tout ce qui vient après le paramètre page pour que le code prenne dynamiquement tout ce qui vient après le paramètre
page et l’inclut dans la page en cours.
Donc, ce sera dans l'index que la page BHP est OK.
C'est très grave parce que même si ça ne fonctionne pas parfois, les gens utilisent un impost.
Tu ne verras pas ça.
Donc, il sera affiché, mais vous pouvez utiliser un proxy tel que le proxy de naissance.
Et cela ressemblerait à cela et ensuite vous pourrez le modifier et le faire inclure tout ce que vous voulez,
puis il sera affiché sur la page.
Ce que nous voulons vraiment faire, c’est que nous voulons que l’utilisateur ne puisse pas manipuler ce qui va être inclus.
Donc, si vous souhaitez inclure une page appelée "news" que BHP 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 savons savent que nous voyons comment
les utilisateurs peuvent jouer avec cela et le faire inclure tout ce qu'ils veulent.
Donc, la meilleure façon de le faire est simplement de le faire inclure la page qui BHP.
Donc, votre code n'utilise aucune variable, il est codé en dur.
Cela pourrait rendre votre code plus long mais c'est beaucoup plus sécurisé.