


Introduction aux problèmes de sécurité courants dans le développement front-end
Questions fréquemment posées :
(Partage de vidéos d'apprentissage : Vidéo de programmation)
Attaque de script intersite (1. XSS) Attack)
XSS (Cross Site Scripting), attaque de cross-site scripting. XSS est l'une des technologies d'attaque Web courantes. L'attaque dite par script intersite fait référence à ce qui suit : des attaquants malveillants injectent du code de script malveillant dans des pages Web. Lorsque les utilisateurs parcourent ces pages Web, le code malveillant est exécuté, ce qui peut être exécuté. causer du tort aux utilisateurs. Diverses attaques telles que le vol d'informations sur les cookies et le détournement de session.
Solution :
(1) Filtrage d'entrée. Ne faites jamais confiance aux entrées de l'utilisateur et effectuez certains filtres sur les données saisies par l'utilisateur. Par exemple, si les données saisies sont conformes au format attendu, tel que le format de date, le format d'e-mail, le format de code du numéro de téléphone
, etc. Cela peut fournir une défense préliminaire contre les vulnérabilités XSS. Les mesures ci-dessus limitent uniquement le côté Web. Les attaquants peuvent toujours contourner les restrictions d'entrée frontales en utilisant des outils de capture de paquets tels que Fiddler et modifier la requête pour injecter des scripts d'attaque.
Par conséquent, le serveur backend doit filtrer ou échapper aux caractères spéciaux dangereux après avoir reçu les données saisies par l'utilisateur, puis les stocker dans la base de données. (2) Codage de sortie. Les données sorties du serveur vers le navigateur
peuvent être codées ou échappées à l'aide des fonctions de sécurité du système pour empêcher les attaques XSS. En PHP, il existe deux fonctions htmlentities() et htmlspecialchars() qui peuvent répondre aux exigences de sécurité. La méthode d'encodage JavaScript correspondante
peut utiliser JavascriptEncode. (3) Codage de sécurité. Le développement doit essayer d'éviter la réécriture, la redirection ou d'autres opérations sensibles des documents du client Web, et éviter d'utiliser les données client. Ces opérations doivent être implémentées côté serveur en utilisant autant que possible des pages dynamiques. (4) Cookie HTTP uniquement. La méthode de défense la plus efficace pour empêcher les attaques XSS de voler les cookies des utilisateurs. Lorsqu'une application Web définit un cookie, définissez son attribut sur HttpOnly,
, pour empêcher les cookies de la page Web d'être volés par du JavaScript malveillant côté client et protéger les informations des cookies de l'utilisateur. (5) WAF (Web Application Firewall), pare-feu d'application Web, sa fonction principale est de prévenir les attaques de vulnérabilité Web courantes telles que les chevaux de Troie Web,
XSS et CSRF. Développé par des sociétés tierces, il est populaire dans les environnements d'entreprise.
2. Falsification de requêtes intersites (attaque CSRF)
CSRF (Cross Site Request Forgery), c'est-à-dire la falsification de requêtes intersites, est une attaque Web courante, mais de nombreux développeurs le font J'en ai peur. Très étrange. CSRF est également le type d'attaque de site Web le plus facilement négligé en matière de sécurité Web.
Principe de l'attaque CSRF : L'utilisateur victime du processus d'attaque CSRF se connecte au site Web A, saisit ses informations personnelles et enregistre le cookie généré par le serveur. localement. Cliquez ensuite sur un lien malveillant construit par l'attaquant sur le site Web A pour accéder au site Web
B. Le site Web B transporte ensuite les informations du cookie de l'utilisateur pour visiter le site Web B. Cela donne l'impression que le site Web A est la propre visite de l'utilisateur, ainsi Pour effectuer une série d'opérations, la plus courante est le transfert
Solution :
(1) Code de vérification. Lors de l'interaction entre l'application et l'utilisateur, notamment dans les étapes essentielles telles que les transactions sur le compte, l'utilisateur est obligé de saisir un code de vérification pour compléter la demande finale. Dans des circonstances normales, les codes de vérification sont suffisamment efficaces pour contenir les attaques
CSRF. Cependant, l’ajout de codes de vérification réduit l’expérience utilisateur et le site Web ne peut pas ajouter de codes de vérification à toutes les opérations. Par conséquent, les codes de vérification ne peuvent être utilisés que comme moyen auxiliaire pour définir des codes de vérification à des points commerciaux clés. (2) Vérification du référent.
Le référent HTTP fait partie de l'en-tête. Lorsque le navigateur envoie une requête au serveur Web, il apporte généralement les informations du référent pour indiquer au serveur à partir de quelle page il est lié. Le serveur peut les utiliser pour en obtenir. informations pour le traitement
Raison. Les attaques CSRF peuvent être défendues en vérifiant la source de la requête. Le référent d'une requête normale a certaines règles. Par exemple, le référent d'une soumission de formulaire doit être une requête initiée sur cette page. Par conséquent, en vérifiant si la valeur du référent de l'en-tête http
correspond à cette page, nous pouvons déterminer s'il s'agit d'une attaque CSRF. Mais dans certains cas, comme pour passer de https à http, le navigateur n'enverra pas le référent pour des raisons de sécurité et le serveur ne pourra pas vérifier. Si
d'autres sites Web du même domaine que ce site Web présentent des vulnérabilités XSS, les attaquants peuvent injecter des scripts malveillants dans d'autres sites Web. Les victimes qui saisissent de telles URL dans le même domaine seront également attaquées. Pour les raisons ci-dessus, Referer Check ne peut pas être entièrement fiable comme principal moyen de défense contre le CSRF
. Cependant, l'apparition d'attaques CSRF peut être surveillée via Referer Check. (3) Jeton anti-CSRF. La solution actuelle relativement complète consiste à ajouter Anti-CSRF-Token, c'est-à-dire à ajouter un jeton généré aléatoirement en tant que paramètre dans la requête HTTP
lors de l'envoi d'une requête, et à établir un intercepteur sur le serveur pour vérifier cela. jeton. Le serveur lit la valeur du jeton dans le cookie de domaine actuel du navigateur et vérifie si le jeton
dans la requête et la valeur du jeton dans le cookie existent et sont égaux avant de considérer qu'il s'agit d'une requête légitime. A défaut, la demande sera considérée comme illégale et le service sera refusé. Cette méthode est beaucoup plus sûre que la vérification du référent. Le jeton peut être généré une fois que l'utilisateur
s'est connecté et placé dans la session ou le cookie, puis le serveur retire le jeton de la session ou du cookie à chaque demande. , et Le jeton de cette demande est comparé. Du fait de l'existence du token, l'attaquant ne peut plus construire
Créez une URL complète pour implémenter l'attaque CSRF. Cependant, lorsqu'il s'agit du problème de coexistence de plusieurs pages, lorsqu'une certaine page consomme le jeton, les formulaires des autres pages enregistrent toujours le jeton consommé, et une erreur de jeton
se produira lorsque les formulaires des autres pages sont soumis.
3. Attaque par injection SQL
Injection SQL (SQL Injection), lorsque l'application transmet SQL (Structured Query Language, Structured Query Language) à la base de données backend, l'attaquant va SQL des commandes sont insérées dans des formulaires Web pour soumettre ou saisir des noms de domaine ou des chaînes de requête pour les requêtes de page, incitant finalement le serveur à exécuter des commandes SQL malveillantes
Solution :
(1) Empêcher. Des informations système sensibles ont été divulguées. Définissez l'option php.ini display_errors=off pour empêcher que des erreurs d'informations sensibles ne soient affichées sur la page Web après qu'une erreur se soit produite dans le script php, donnant ainsi aux attaquants la possibilité d'en profiter. (2) Évasion de données. Définissez l'option php.ini magic_quotes_gpc=on, qui ajoutera automatiquement tous les "(guillemets simples), "(guillemets doubles), (barres obliques inverses), caractères vides, etc. dans les variables soumises devant. Ou utilisez la fonction mysql_real_escape() ou addlashes() pour échapper aux paramètres d'entrée. (3) Ajouter une vérification de liste noire ou de liste blanche. La vérification de la liste blanche fait généralement référence à la vérification si l'entrée de l'utilisateur correspond au type, à la longueur, à la plage de valeurs attendus ou à d'autres normes de format. contient un contenu malveillant évident, la demande de l'utilisateur sera rejetée. Lors de l'utilisation de la vérification par liste blanche, elle est généralement combinée avec la vérification par liste noire
4. La vulnérabilité de téléchargement de fichiers<. par les pirates l dvbbs6.0. la vuln de t peut utilis pour obtenir directement webshell. le niveau dommage est extr une courante dans intrusions actuelles. cette permet aux utilisateurs n quoi. permettre un attaquant d du contenu dangereux ou code malveillant et sur serveur. principe fichiers : parce que fonction ne limite pas strictement suffixe type fichier permettant ainsi des fichiers. en php arbitraires via r accessible web capable transmettre ces vous pouvez ex scripts serveur distant>
Solution :
. (1) Vérifiez si le serveur détermine le type et le suffixe du fichier téléchargé. (2) Définissez une liste blanche des types de fichiers téléchargés, c'est-à-dire que seuls les types de fichiers de la liste blanche peuvent être téléchargés. Le répertoire de téléchargement interdit l'analyse des scripts pour éviter les attaques secondaires des attaquants. Vulnérabilité d'information La vulnérabilité d'information signifie que CGI affiche les paramètres d'entrée tels qu'ils sont et que l'attaquant trompe l'utilisateur en modifiant les paramètres d'entrée. Détails :
Sécurité du site WebCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

La conception du framework Java assure la sécurité en équilibrant les besoins de sécurité avec les besoins de l'entreprise : en identifiant les principaux besoins de l'entreprise et en hiérarchisant les exigences de sécurité pertinentes. Développez des stratégies de sécurité flexibles, répondez aux menaces par niveaux et effectuez des ajustements réguliers. Tenez compte de la flexibilité architecturale, prenez en charge l’évolution de l’entreprise et des fonctions de sécurité abstraites. Donnez la priorité à l’efficacité et à la disponibilité, optimisez les mesures de sécurité et améliorez la visibilité.

Dans la société numérique d’aujourd’hui, les ordinateurs sont devenus un élément indispensable de nos vies. Windows étant l’un des systèmes d’exploitation les plus populaires, il est largement utilisé dans le monde entier. Cependant, à mesure que les méthodes d’attaque des réseaux continuent de se multiplier, la protection de la sécurité des ordinateurs personnels est devenue particulièrement importante. Le système d'exploitation Windows fournit une série de fonctions de sécurité, dont le « Centre de sécurité Windows » est l'un de ses composants importants. Dans les systèmes Windows, "Windows Security Center" peut nous aider

Le développement rapide de l’IA générative a créé des défis sans précédent en matière de confidentialité et de sécurité, déclenchant des appels urgents à une intervention réglementaire. La semaine dernière, j'ai eu l'occasion de discuter des impacts de l'IA sur la sécurité avec certains membres du Congrès et leur personnel à Washington, D.C. L’IA générative d’aujourd’hui me rappelle l’Internet de la fin des années 1980, avec ses recherches fondamentales, son potentiel latent et ses utilisations académiques, mais elle n’est pas encore prête à être accessible au public. Cette fois, l’ambition sans entrave des fournisseurs, alimentée par le capital-risque des ligues mineures et inspirée par les chambres d’écho de Twitter, fait rapidement progresser le « meilleur des mondes » de l’IA. Le modèle de base « public » est défectueux et inadapté à une utilisation grand public et commerciale ; les abstractions de confidentialité, si elles sont présentes, fuient comme un tamis, les structures de sécurité sont importantes en raison de la surface d'attaque ;

Pour protéger votre application Struts2, vous pouvez utiliser les configurations de sécurité suivantes : Désactiver les fonctionnalités inutilisées Activer la vérification du type de contenu Valider l'entrée Activer les jetons de sécurité Empêcher les attaques CSRF Utiliser RBAC pour restreindre l'accès basé sur les rôles

Dans la comparaison de sécurité entre Slim et Phalcon dans les micro-frameworks PHP, Phalcon dispose de fonctionnalités de sécurité intégrées telles que la protection CSRF et XSS, la validation de formulaire, etc., tandis que Slim manque de fonctionnalités de sécurité prêtes à l'emploi et nécessite une implémentation manuelle. de mesures de sécurité. Pour les applications critiques en matière de sécurité, Phalcon offre une protection plus complète et constitue le meilleur choix.

Lors de la mise en œuvre d'algorithmes d'apprentissage automatique en C++, les considérations de sécurité sont essentielles, notamment la confidentialité des données, la falsification du modèle et la validation des entrées. Les meilleures pratiques incluent l'adoption de bibliothèques sécurisées, la réduction des autorisations, l'utilisation de bacs à sable et une surveillance continue. Le cas pratique démontre l'utilisation de la bibliothèque Botan pour chiffrer et déchiffrer le modèle CNN afin de garantir une formation et une prédiction sûres.

La pièce SHIB n'est plus étrangère aux investisseurs. Il s'agit d'un jeton conceptuel du même type que le Dogecoin. Avec le développement du marché, la valeur marchande actuelle de SHIB s'est classée au 12e rang. .les investisseurs participent aux investissements. Dans le passé, il y a eu de fréquents transactions et incidents de sécurité des portefeuilles sur le marché. De nombreux investisseurs se sont inquiétés du problème de stockage de SHIB. Ils se demandent quel portefeuille est le plus sûr pour stocker les pièces SHIB à l'heure actuelle. Selon l'analyse des données du marché, les portefeuilles relativement sûrs sont principalement les portefeuilles OKXWeb3Wallet, imToken et MetaMask, qui seront relativement sûrs. Ensuite, l'éditeur en parlera en détail. Quel portefeuille est le plus sûr pour les pièces SHIB ? Actuellement, les pièces SHIB sont placées sur OKXWe
