[RUBY] Sécurité dans les applications Web

Développer des applications Web sans mesures de sécurité est extrêmement dangereux. Qu'est-ce que la sécurité? Si vous ne prenez pas de mesures de sécurité ・ Pourquoi est-ce dangereux? ・ Que va-t-il se passer ・ Comment prendre des mesures J'ai résumé ce que j'ai appris. (Développement en Ruby)

supposition
Programmation débutant(1~2 mois) c'est ce que j'ai appris.
Il peut ne pas fonctionner dans le champ réel ou contenir un contenu incorrect.
Nous vous serions reconnaissants si vous pouviez ajouter ou signaler des erreurs ou des parties superficielles.

Pourquoi est-ce dangereux sans mesures de sécurité?

Pourquoi les services Web non sécurisés sont-ils dangereux et que se passe-t-il? ** Conclusion ** L'utilisateur divulgue des informations personnelles. L'administrateur peut altérer la page Web sans autorisation.

Si tu regardes un peu plus près, ・ Les informations personnelles peuvent être consultées sans autorisation ・ Le contenu de la page Web est altéré ・ La page Web elle-même devient indisponible Par conséquent ・ Dommages majeurs aux utilisateurs de services Web ・ Perdre la crédibilité sociale des pages Web publiées

Qu'est-ce que la sécurité dans les services Web

Les services Web vulnérables sont moins sécurisés.

Vulnérabilité

Les vulnérabilités sont également appelées failles de sécurité et sont des défauts possibles du logiciel ou des problèmes d'utilisation. On peut dire que c'est un point faible lorsqu'une attaque est lancée par une personne malveillante. Cette vulnérabilité cause divers dommages aux développeurs et aux utilisateurs.

Types d'attaques de sécurité

・ Attaque de sécurité par JavaScript ・ Attaque en utilisant la session ・ Attaque qui fait une demande illégale ・ Attaque par SQL Considérez une attaque comme un acte d'extraction d'informations personnelles.

Attaque par JavaScript

JavaScript est un langage de programmation côté client. En incorporant du JavaScript malveillant d'une manière ou d'une autre, vous pouvez forcer l'utilisateur à exécuter le programme lorsque vous affichez la page intégrée. Ce type d'attaque est appelé XSS (Cross Site Scripting). L'intégration d'un script et son exécution s'appelle la création de scripts. Il semble que de nombreux contenus envoient des informations personnelles au serveur d'une personne malveillante.

Attaque par JavaScript

JavaScript est un langage de programmation côté client En incorporant en quelque sorte du JavaScript malveillant dans le navigateur où l'utilisateur a affiché l'application Web, l'utilisateur peut être amené à exécuter le programme. Une telle attaque s'appelle ** XSS **

XSS (Cross Site Scripting)

Méthode par laquelle un attaquant intègre un programme JavaScript (script) malveillant sur une application Web vulnérable et attaque l'utilisateur de ce site. XSS est une technique dont le but est d'exécuter un script malveillant lors de l'affichage d'une application Web. L'intégration d'un script et son exécution s'appelle "scripting". La plupart des contenus sont des scripts qui envoient les informations personnelles de l'utilisateur au serveur d'une personne malveillante.

Modèle d'attaque XSS

Il existe deux types de modèles d'attaque XSS: le XSS réfléchissant et le XSS rétractable.

Réfléchissant XSS

Une technique qui permet à un script d'être exécuté sur une application Web vulnérable lorsqu'un utilisateur clique sur une URL malveillante procédure ① Laissez l'utilisateur cliquer sur l'URL Un attaquant pousse un utilisateur à cliquer sur une URL malveillante (une URL modifiée qui passe à une application Web vulnérable). → L'application vulnérable est-elle une source d'attaquants? Ou est-ce un site totalement indépendant? Si le premier est convaincant, si le second, le dernier site n'est utilisé qu'en raison d'une faible sécurité? ② Lorsque l'utilisateur clique, le script s'exécute sur l'application Web vulnérable Les URL malveillantes contiennent des scripts qui se déclenchent sur des applications Web vulnérables. Par conséquent, l'ouverture d'une application Web vulnérable déclenchera un script. ③ Lorsque le script se déclenche, des informations personnelles sont envoyées au serveur de l'attaquant Le script déclenché (déclenché) était comme l'extraction d'informations personnelles. Les informations personnelles de l'utilisateur cliqué seront enregistrées sur le serveur de l'attaquant.

De cette façon, lorsqu'un utilisateur clique sur une URL et qu'une réponse est reçue, le script est exécuté immédiatement, il est donc appelé un type réfléchissant. Le script est exécuté après la transition d'un autre site (y compris le courrier) vers une application Web vulnérable. Lorsque les URL sont souvent publiées dans les applications de chat, avant de cliquer sur cette page Est-ce un site sûr? Je pense que cette confirmation sortira. Afin d'éviter ce XSS réfléchissant, je pense qu'il est affiché. Cela signifie des scripts intersites intersites (croisement de sites Web).

XSS rétractable

Méthode d'attaque qui intègre un script malveillant dans une publication d'une application Web vulnérable et déclenche le script lorsqu'un utilisateur visite l'application Web. Par exemple, publiez un script malveillant dans une publication Twitter. Le script se déclenchera dès que vous vous déplacerez sur la page où vous pouvez voir le message. Même si vous n'essayez pas de voir le message, vous serez attaqué au moment où vous ouvrirez la page avec le message. procédure ① L'attaquant publie avec un script dans une application Web vulnérable Incorporez un script lors de la publication de contenu à partir d'un formulaire. (2) Lorsque l'utilisateur visite la page contenant le message, le script se déclenche. Lorsque vous ouvrez une page de publication avec un script intégré, le script se déclenche. Parfois, le script se déclenche lorsque vous déplacez la souris sur l'image. ③ Lorsque le script se déclenche, des informations personnelles sont envoyées au serveur de l'attaquant. Il est appelé un type de stockage car il stocke un script dans une application Web vulnérable et le déclenche lorsque l'utilisateur le visite.

Traiter avec XSS

De nombreux cas de XSS sont encore signalés. XSS représente la plus grande partie des dommages causés par les attaques vulnérables.

solution de contournement

La cause principale de XSS est que les balises de script (

Recommended Posts

Sécurité dans les applications Web
Débogage à distance des applications Java dans Azure Web Apps
Créer une authentification par clé API pour l'API Web dans Spring Security
Développement facile d'applications Web avec STS et Spring Boot. Dans 10 minutes.
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Tomcat App Edition]
Création d'applications Web Java sur Windows Server 2016
Création d'applications Web Java sur Azure Web Apps
Essayer avec la déclaration de ressources dans l'application Web
Rôle de JSP dans les applications Web [Java]