2009-11-12 4 views
2

Selon votre expérience, qu'avez-vous trouvé, travaillé ou rencontré en termes de vulnérabilités de site? Et quelles mesures avez-vous prises pour atténuer ces problèmes?Tests de sécurité Web

Cela peut inclure des attaques XSS (Cross Site Scripting), des attaques par injection SQL, de vieilles DDOS ou des tentatives d'hameçonnage sur les clients de votre site. Seulement hier, je suis tombé sur une section entière des outils de Firefox pour l'audit des sites et leur potentiel pour diverses vulnérabilités. Je cherche à élargir mes connaissances dans ce domaine pour un rôle, donc plus d'informations à lire ou à apprendre est toujours bon - des liens solides appréciés aussi! Et les histoires de guerre du pire que vous avez trouvé ou le plus effrayant trou que vous avez vu - apprendre de l'expérience est la meilleure façon parfois! J'ai rejoint un projet d'application Web qui incluait une bibliothèque de documents.

Répondre

7

J'ai passé en revue la sécurité, la boîte blanche et la boîte noire, pour des douzaines (centaines?) D'applications et de sites.

  1. XSS et l'injection SQL obtiennent beaucoup de presse, mais savez-vous ce que je trouve le défaut de sécurité le plus commun à être? Laisser la fonctionnalité de débogage et de test dans le code de production. Soit en falsifiant les paramètres POST (isDebug = True), soit en parcourant un site et en trouvant des pages restantes, ce sont les pires erreurs que je vois concernant la sécurité. Si vous incluez le code de test/débogage, placez-le dans une branche de code distincte ou préparez au moins une liste de contrôle à supprimer avant le lancement. La deuxième vulnérabilité la plus fréquente que j'ai vue est simplement la possibilité de contourner les mécanismes de sécurité en saisissant une URL à partir de la source de la page. Le nom technique est «Navigation Forcée» ou «Navigation Forcée». C'est quelque chose que n'importe qui peut lire HTML peut faire, pourtant je suis surpris par la variété des applications vulnérables. En passant en revue un site d'achat de billets hier, j'ai pu acheter des billets pour des spectacles à guichets fermés en utilisant cette méthode. Sur les sites précédents, j'ai été en mesure de sauter complètement payant (beaucoup, beaucoup de sites Paypal passent l'URL «achat complet» à paypal via les paramètres POST - yoink!). Pour être franc, je laisse habituellement des outils tels que AppScan, proxy BURP, WebScarab, Fortify, FindBugs, ou YASCA, par exemple. (selon le budget et l'accessibilité du code source) trouver des attaques par injection XSS et SQL pour moi. Je vais essayer les trucs simples, chercher des trous évidents, mais il y a trop de combinaisons connues pour essayer. Je garde une petite collection de scripts et de cas de test pour des failles plus avancées ou découvertes récemment.

Je vais arrêter à 3, parce que je pouvais vraiment aller toute la journée, je suis de perdre de vue votre question, et personne ne veut lire un mur de texte. Des ressources pour les gourous de la sécurité Web nouveaux et chevronnés: Désolé)

L'Open projet d'application Web de sécurité (OWASP)

http://www.owasp.org/

Web Security Testing livre de recettes

Ce livre est écrit pour les auditeurs, les testeurs, et moins pour les développeurs. Ce qui est assez inhabituel pour un livre O'Reilly.

websecuritytesting.com

Catégorisation de vulnérabilité par Fortify

www.fortify.com/vulncat/

de Common Weakness Enumeration (avertissement: vaste)

nvd.nist .gov/cwe.cfm

Motif commun Attaque Enumeration et classification (avertissement: encore plus vaste)

capec.mitre.org/

Web Security de Google Tutoriels

(plutôt faible) Code

. google.com/edu/security/index.html

1

La façon dont il a référencé les documents était quelque chose comme http://example.com/getdocument?file=somefile.pdf. Bien sûr, je devais simplement essayer file =/etc/passwd, et bien sûr cela a fonctionné.

Solution: Effectuer la désinfection des entrées utilisateur et/ou utiliser un certain niveau d'abstraction entre les ressources demandées dans l'URL et les ressources du système de fichiers réel.

Ceci est le cousin des attaques par injection SQL. Examinez toute requête autorisée qui semble étrangement donner trop de contrôle au client.

Questions connexes