Question

Voici les pratiques communément connues pour assurer une application MVC:

  • Coder votre sortie
  • Paramétrez votre SQL
  • Testez votre recherche en arrière et en avant
  • 1 manière des mots de passe de hachage
  • verrouiller les comptes ou tentatives de connexion limite
  • Utilisez le code en fonction usurpation d'identité 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 / pratiques optimales utilisez-vous ou pensez lors du test de stylo votre propre logiciel. Que faites-vous à « kick les pneus » avant de prendre une des applications live.

Quels sont les services de test stylo ou logiciel utilisez-vous le cas échéant?

Était-ce utile?

La solution

Toutes les méthodes qui utilisent modelbinding doit être sécurisé avec des listes blanches ou listes noires sur les propriétés liables.

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

ou

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

}

Il 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.

Autres conseils

Votre liste est bonne, même si elle est un peu vague. Par exemple md4 est un hachage à sens unique, mais son extrêmement précaire que je peux générer une collision sur mon bureau en moins d'un jour. SHA256 avec une grande valeur de sel est une approche plus sûre. (Je sais que même cette description incomplète est, ne pas la flamme)

Il n'y a jamais un fourre-tout la liste de vérification de sécurité qui fonctionnera dans tous les domaines. Des applications spécifiques peuvent avoir des vulnérabilités spécifiques. Parfois, ces défauts peuvent être des erreurs logiques qui n'ont pas vraiment une classification.

Le OWASP Top 10 vulnérabilités des applications Web est une excellente ressource que vous devrait étudier. Plus particulièrement, vous manquez XSRF sur votre liste qui peut être une attaque dévastatrice. Il existe un grand nombre d'attaques basées sur « puits » que vous n'avez pas énumérés. Par exemple si un attaquant pourrait passer dans un chemin de son choix à fopen? Une étude Scarlet va sur un grand nombre de ces attaques contre PHP.

Toutes vos suggestions s'appliquent à toute application Web, pas seulement des applications MVC.

Une des suggestions spécifiques MVC serait quelque chose comme « les contrôleurs maigres, les modèles gras ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top