Je crée un site Web qui utilise un script Perl, PHP, une base de données MySQL et HTML. Ma principale préoccupation est de m'assurer qu'il n'y a pas moyen d'avoir accès à quoi que ce soit qui permette d'accéder à mes informations. Je veux dire est là de toute façon pour quelqu'un pour obtenir mon script perl et voir mes informations de base de données. Je connais l'injection sql mais je n'ai pas de formulaire pour l'information à saisir. Y a-t-il quelque chose que je devrais garder à l'esprit avec ce genre de choses?Questions de sécurité du site Web
Répondre
est là de toute façon quelqu'un pour obtenir mon script perl et de voir ma base de données d'informations
Cela ne se produira lorsque le serveur Web ne pas analyser/processus le script et il retourne en texte clair. Habituellement, cette analyse/traitement se produit uniquement sur des extensions de fichiers spécifiques comme .pl
pour les fichiers perl et .php
pour les fichiers PHP. Si vous (ou le pirate) le renomme en .txt
, le client pourra obtenir le script entier en clair. Néanmoins, si un pirate est capable de le renommer, il a quand même accès à tout le script. Cela serait alors fait par un trou de sécurité dans FTP ou CMS.
De plus, je l'ai vu des scripts qui lit les fichiers (généralement des images ou d'autres fichiers statiques) de (extérieur) le contexte webapp basé sur le chemin comme paramètre. Par exemple.download.php?filename.ext
Si un tel script ne vérifie pas le chemin d'accès du fichier, un pirate intelligent peut être en mesure d'obtenir des scripts en texte brut par download.php?%2Fserver%2Fhtdocs%2Fscript.php
.
L'ampleur de cette question est de nature écrasante, mais il est une grande question et certainement importante.
Une grande partie des problèmes que vous allez avoir avec votre serveur peut être lié à l'accès au serveur lui-même, assurez-vous de ne pas utiliser les logiciels que vous n'avez pas besoin. Si vous n'avez pas besoin d'un serveur de noms, désactivez bind; il en va de même pour ftp, même sendmail si vous le pouvez. Utilisez des mots de passe forts et des ports alternatifs si possible.
Pour PHP, voir http://us3.php.net/manual/en/security.php et http://php-ids.org/; utiliser définitivement mysql_real_escape_string() et htmlentities().
Pour HTML/PHP/JS, voir http://en.wikipedia.org/wiki/Cross-site_scripting
Il y a beaucoup de choses à penser. Je recommanderais d'essayer de trouver un mentor pour vous aider à comprendre ce qui est important. Je suis un mentor en ce moment et ça l'aide beaucoup même si je ne suis pas parfait. Le SO peut aider, mais une personne en qui vous avez confiance et qui peut regarder comment vous faites les choses peut faire des recommandations que vous n'obtiendrez pas ici à moins que vous ne publiiez votre base de code entière.
la sécurité des applications Web est un sujet important. Cependant, vous connaissez l'une des plus grandes vulnérabilités, l'injection SQL, donc c'est un bon début.
Un couple d'autres grands sont Cross Site Scripting (XSS) et Cross Site Request Forgery (CSRF - "See-Surf")
XSS - http://en.wikipedia.org/wiki/Cross-site_scripting
CSRF - http://en.wikipedia.org/wiki/Csrf
Comme d'habitude Wikipedia offre une bonne introduction.
Vous pouvez également regarder pour vérifier l'authenticité de la demande en utilisant un HMAC
http://en.wikipedia.org/wiki/HMAC
aller vraiment lire ce community wiki. C'est plein d'informations. Ou cherchez juste ici sur stackoverflow il y a beaucoup de questions.
Utilisez des espaces réservés pour SQL, même PHP le supporte.
Échappez à votre sortie. Votre système de modèle peut aider ici.
Utilisez le répertoire cgi-bin. Cela aide vraiment à protéger les fuites accidentelles. Il est facile de créer des URL sans cgi-bin.
En Perl utiliser le mode taint, en PHP utiliser PHP renforcé.
Ne jamais faire confiance à aucun entrée utilisateur sous quelque forme que jamais .. :)
La partie difficile est de trouver toutes les façons un utilisateur peut fournir entrée sur votre site ..
- 1. sécurité du site Web
- 2. Coldfusion, site web dreamweaver Sécurité
- 3. ClickOnce - Questions de sécurité
- 4. Questions sur la construction d'un site Web
- 5. Windows Dossier Sécurité lors du partage via un site Web
- 6. Révision du code 3 Parti pour les questions de sécurité
- 7. questions SEO avant de lancer le nouveau site web
- 8. Localisation du site Web
- 9. Tests de sécurité Web
- 10. jQuery Site Questions
- 11. Alternatives à CAT.NET pour l'analyse de sécurité de site Web
- 12. de sécurité pour le site Web de réseautage social
- 13. Crossdomain.xml et les questions de sécurité
- 14. Sécurité de l'API du service Web ASP.NET
- 15. Déploiement du site web
- 16. Comment implémenter la sécurité du site Web en fonction du matériel client ou d'une autre solution?
- 17. questions d'applications Web sécurisées
- 18. Sécurité .NET Web Service
- 19. Questions d'architecture Web App
- 20. Configuration du site Web avec IIS
- 21. Vérifiez les liens du site Web entier
- 22. Considérations relatives à la sécurité - site Web/portail sur GAE
- 23. Meilleures pratiques pour les questions de sécurité dans les applications Web
- 24. Comment puis-je vérifier la sécurité du site gratuitement?
- 25. Optimisation normale du site Web
- 26. Disponibilité du site Web API
- 27. Test utilisateur du site Web
- 28. Débogage du site Web suspendu
- 29. Site Web de référence
- 30. Sécurité de l'utilisateur dans la base de données de mon site Web
C'est Super point !!! –
Ce n'est pas la seule façon de voir la source d'un script. :) –