3

Voici quelques pratiques communément connues pour assurer une application MVC:teste Pen votre application MVC

  • Coder votre sortie
  • Paramétrez votre SQL
  • Testez votre recherche en arrière et en avant
  • 1 voie Mots de passe de hachage
  • Verrouiller les comptes ou limiter les tentatives de connexion
  • Utiliser l'emprunt d'identité basé sur le code lors de l'accès au système de fichiers
  • SQL Access avec un nom d'utilisateur verrouillé
  • Utilisez miel des pots ou des captchas pour les soumissions de formulaire pour contrer les robots collecteurs

S'il y a tout ce que je manqué ou erronée s'il vous plaît ne hésitez pas à y contribuer. Quelles autres techniques/bonnes pratiques utilisez-vous ou pensez-vous lorsque vous testez votre propre logiciel à la plume? Que faites-vous pour "botter les pneus" avant de prendre une application en direct.

Quels services ou logiciels de test de stylo utilisez-vous le cas échéant?

+1

Je vous suggère cette communauté wiki. – gahooa

+0

Terminé. Bonne idée. –

Répondre

4

Toutes les méthodes qui utilisent modelbinding doivent être sécurisées avec des listes blanches ou des listes noires sur les propriétés de liaison.

string[] allowedProperties = new[]{ "Title", "Description"}; 
UpdateModel(myObject, allowedProperties); 

ou

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Create([Bind(Include="Title,Description")] MyObject object) 
{ 

} 

Ceci est bien sûr d'éviter les demandes de tenter de artisanaux mettre à jour/manipuler vos objets d'une manière qui ne sont pas destinés.

3

Votre liste est bonne, même si elle est un peu vague. Par exemple md4 est un hachage à sens unique, mais il est extrêmement peu sûr car je peux générer une collision sur mon bureau en moins d'une journée. sha256 avec une grande valeur de sel est une approche plus sûre. (Je sais même que ceci est une description incomplète, ne flambe pas)

Il n'y a jamais une liste de vérification de sécurité qui fonctionnera à travers le tableau. Des applications spécifiques peuvent présenter des vulnérabilités spécifiques. Parfois, ces failles peuvent être des erreurs logiques qui n'ont pas vraiment de classification.

Les vulnérabilités de l'application Web OWASP Top 10 constituent une excellente ressource que vous devriez étudier. Plus particulièrement, il vous manque XSRF sur votre liste qui peut être une attaque dévastatrice. Il existe un grand nombre d'attaques basées sur les "puits" que vous n'avez pas répertoriées. Par exemple, que faire si un attaquant pourrait passer dans un chemin de son choix pour fopen? A Study In Scarlet passe en revue plusieurs de ces attaques contre PHP.

1

Toutes vos suggestions s'appliquent à n'importe quelle application Web, et pas seulement aux applications MVC.

Une suggestion spécifique à MVC serait quelque chose comme "contrôleurs maigres, modèles de graisse".

Questions connexes