Maison  >  Article  >  Opération et maintenance  >  Quels sont les points de connaissances pour les tests de sécurité Web ?

Quels sont les points de connaissances pour les tests de sécurité Web ?

WBOY
WBOYavant
2023-05-11 18:34:061336parcourir

Qu'est-ce que les tests de sécurité ?

Les tests de sécurité visent à fournir la preuve que l'application peut toujours répondre pleinement à ses besoins face à des entrées hostiles et malveillantes.

a. Comment fournir des preuves ? Nous utilisons un ensemble de résultats d’exécution de scénarios de tests de sécurité ayant échoué pour prouver que l’application Web ne répond pas aux exigences de sécurité.

b. Comment voyez-vous la nécessité de tests de sécurité ? Les tests de sécurité dépendent davantage des exigences que les tests fonctionnels, car ils comportent plus d'entrées et de sorties possibles à parcourir.

La véritable sécurité logicielle fait en fait référence à la gestion des risques, c'est-à-dire qu'il suffit de s'assurer que le niveau de sécurité du logiciel répond aux besoins de l'entreprise.

Comment effectuer des tests de sécurité ?

L'ajout de cas de tests de sécurité basés sur des attaques et des vulnérabilités courantes combinées à la pratique réelle permet de transformer les tests de sécurité en une partie simple et commune des tests fonctionnels quotidiens.

Choisissez des valeurs limites spéciales avec des implications de sécurité et des classes d'équivalence spéciales avec des implications de sécurité, et intégrez-les dans nos processus de planification des tests et de stratégie de test.

Mais si les tests de sécurité sont effectués sur la base de tests fonctionnels, un grand nombre de cas de test doivent être ajoutés. Cela signifie que deux choses doivent être faites pour que cela soit gérable : affiner le champ d’application et automatiser les tests.

Quels points de test sont généralement pris en compte dans les tests de sécurité Web ?

1. Problème : saisie non validée
Méthode de test :

Type de données (chaîne, entier, nombre réel, etc.)
Jeu de caractères autorisé

Longueur minimale et maximale
Si une saisie vide est autorisée
Si le paramètre est Il est nécessaire
Si la répétition est autorisée
Plage de valeurs
Valeur spécifique (type d'énumération)
Modèle spécifique (expression régulière)

2 Problème : Contrôle d'accès problématique

Méthode de test :

Principalement utilisé pour les besoins Pour la page qui vérifie l'identité de l'utilisateur. et les autorisations, copiez l'adresse URL de la page. Après avoir fermé la page, vérifiez si vous pouvez accéder directement à l'adresse copiée. Exemple : Vous pouvez voir l'adresse URL dans l'espace entre les liens d'une page à l'autre. vous pouvez voir les informations de la page pour lesquelles vous n'avez pas l'autorisation

3. Authentification et gestion de session incorrectes

Exemple : les zones de saisie des classes d'affichage Grille, Étiquette et Arbre ne sont pas vérifiées et le contenu d'entrée sera analysé en fonction de Syntaxe HTML Sortez

4. Débordement de tampon

Les données clés ne sont pas cryptées

Exemple : view-source : l'adresse http peut afficher le code source, entrez le mot de passe sur la page, la page affiche *****, faites un clic droit. , affichez le fichier source. Consultez le mot de passe que vous venez de saisir

5. Déni de service

Analyse : un attaquant peut générer suffisamment de trafic à partir d'un hôte pour épuiser de nombreuses applications, et éventuellement paralyser le programme.

6. Pas de gestion de configuration sécurisée

Analyse : les chaînes de liens dans Config ainsi que les informations utilisateur, les e-mails et les informations de stockage de données doivent être protégées.

Ce que les programmeurs doivent faire : configurer tous les mécanismes de sécurité, désactiver tous les services inutilisés, configurer des comptes d'autorisation de rôle, utiliser les journaux et les alertes

Analyse : les utilisateurs utilisent le débordement de tampon pour détruire la pile d'applications Web, en envoyant En insérant du code spécialement écrit dans un programme Web, un attaquant peut permettre à l'application Web d'exécuter du code arbitraire

7 Vulnérabilité d'injection

Exemple : une page pour vérifier la connexion de l'utilisateur,

Si l'instruction SQL utilisée est :

Sélectionnez * dans le tableau A où le nom d'utilisateur. ='' + nom d'utilisateur+'' et mot de passe .....

Entrée SQL ' ou 1=1 --- vous pouvez attaquer sans entrer de mot de passe

8. Gestion incorrecte des exceptions

Analyse : Le programme a donné un rapport relativement. message d'erreur interne détaillé lors du lancement d'une exception, exposant les détails d'exécution qui ne doivent pas être affichés. Le site Web présente des vulnérabilités potentielles

9 Stockage dangereux

Analyse : liste des comptes, le système ne doit pas permettre aux utilisateurs d'accéder à tous les comptes du site. . Si une liste d'utilisateurs est nécessaire, il est recommandé d'utiliser une forme de pseudonyme (nom d'écran) pour pointer vers les comptes réels.

Cache du navigateur : les données d'authentification et de session ne doivent pas être envoyées dans le cadre de GET, POST doit être utilisé

10 Problème : Cross-site scripting (XSS)

Analyse : les attaquants utilisent le cross-site scripting pour envoyer du code malveillant à. non L'utilisateur qui en a connaissance volera toute information sur sa machine

Méthode de test :

Balise HTML : <…>…

Caractères d'échappement : &(&);<( <) ;>(>); (espace) ;

Langage de script :

Caractères spéciaux : ' < > /

Longueur minimale et maximale

Autoriser les entrées vides

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer