Mysql
 sql >> Base de données >  >> RDS >> Mysql

Tester les vulnérabilités de sécurité dans les applications Web :les meilleures pratiques ?

SQL Injection et XSS sont les erreurs les plus courantes commises par les programmeurs. La bonne nouvelle est qu'ils sont plus faciles à tester automatiquement, tant que vous disposez du bon logiciel. Quand je suis sur un pentest j'utilise Sitewatch ou Wapiti pour trouver les vulnérabilités des applications Web. Acunetix est trop cher.

Mais vous ne pouvez pas simplement lancer un outil automatisé et vous attendre à ce que tout fonctionne. Vous devez prendre un certain nombre de précautions avec TOUT scanner de vulnérabilité que vous choisissez.

1) assurez-vous que display_errors=On dans vos tests d'injection SQL php.ini repose sur la possibilité de voir les messages d'erreur mysql dans les pages de réponse ! Aucune erreur, aucune vulnérabilité détectée !

2) Scannez les zones authentifiées de votre application. Créez un compte utilisateur spécifiquement pour les tests. Acuentix dispose d'un assistant simple dans lequel vous pouvez créer une séquence de connexion. Si vous utilisez wapiti, vous pouvez donner un cookie à wapiti ou donner à wapiti une demande de publication à déclencher, mais c'est un peu délicat.

APRÈS vous avez testé votre application puis testez votre serveur pour une mauvaise configuration. Pour tester votre serveur, vous devez exécuter OpenVAS qui est la nouvelle version plus gratuite de Nessus qui est maintenant un produit commercial. Ensuite, vous devriez suivre cela avec PhpSecInfo . Ces tests vous informeront des problèmes avec votre configuration ou si vous utilisez d'anciens logiciels vulnérables.

Rien ne sera jamais sûr à 100 %, JAMAIS . Peu importe ce que vous faites, il y a des vulnérabilités qui passeront entre les mailles du filet. Il existe des vulnérabilités dans toutes les plates-formes de développement qui conduisent à des compromis qu'aucun outil ne peut tester. Il existe également des bogues dans les outils de test que vous utilisez. Il y a des faux messages et des faux négatifs et certains tests qui ne fonctionnent pas , un bon exemple, je n'ai jamais vu un outil CSRF automatisé qui trouve réellement des vulnérabilités légitimes. Le test CSRF d'Acunetix est une perte de temps totale.

Il existe également le guide de test OWASP qui rentre plus en détail. Cela ne doit pas être confondu avec le Top 10 OWASP qui est aussi une excellente ressource. Le Guide de sécurité PHP est également une excellente ressource pour les programmeurs php.