SQL et Login Flashcards

Sécurité applicative (18 cards)

1
Q

Quels sont les 5 problèmes fondamentaux dans une application?

A
  1. Aucun test unitaire
  2. HTTP au lieu de HTTPS
  3. Aucune autorisation
  4. Mauvaise protection des mots de passe
  5. Requêtes SQL vulnérables aux injections
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pourquoi l’absence de tests unitaires est un problème de sécurité?

A

Parce que les développeurs hésitent à modifier le code, ce qui stagne la production et produit des failles non corrigées.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Pourquoi utiliser HTTP plutôt que HTTPS est dangereux?

A

Parce que les données (passwords, tokens, etc) transitent en clair et peuvent être interceptées.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce que le manque d’autorisation implique?

A

N’importe quel utilisateur peut accéder à des ressources sans contrôle de droits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Pourqoi les requêtes SQL sont dangereuses dans l’application?

A

Parce qu’elles sont vulnérables aux attaques par Injection SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Pourquoi la protection actuelle des mots de passe est inadéquates?

A

Parce qu’ils ne sont pas stockés avec des mécanismes de hachage sécurisés, ils sont alors vulnérables aux attaques rainbow tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles sont les bonnes pratiques pour prévenir l’injection SQL?

A
  1. Utiliser des prepared statements
  2. Employer les bonnes fonctions d’exécution (execute plutôt que executeScript)
  3. Utiliser correctement les fonctionnalités des ORM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Utiliser un ORM garantit-il d’être protégé contre les injections SQL?

A

Non car un ORM peut être mal utilisé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Écrire des requêtes SQL à la main garantit-il une vulnérabilité?

A

Non, tout dépend des protections utilisées.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Pourquoi on ne veut pas utiliser username/password pour chaque requête?

A

Parce que le mot de passe circulerait constamment donc produit un grand risque de fuite ou de vol.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quel est l’objectif principal de l’authentification après le login?

A

Pouvoir prouver qu’un utilisateur est déjà authentifié sans redemander le mot de passe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quelle solution est recommandée en 2025 pour le hachage de mdp?

A

Argon2 selon l’OWASP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Pourquoi MD5 et SHA sont maintenant considérés comme insécuritaires?

A
  • Trop rapides
  • Vulnérables au cracking et rainbow tables
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qu’est-ce qu’un JWT?

A

Un token qui représente l’identité d’un utilisateur authentifié.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Pourqoi utiliser un JWT plutôt qu’un username/password?

A
  • Le mdp n’a pas besoin de circuler après le login
  • Le token peut être transmis automatiquement au serveur
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pourquoi écrire sa propre implémentaiton JWT est une mauvaise idée de production?

A

Parce que gérer cryptographie et sécurité soi-même mène souvent à des failles.

16
Q

Où peut-on stocker un JWT côté client?

A

DAns le navigateur (cookies sécurisés ou local/session storage)

17
Q

Pourquoi stocker un JWT est-il plus sécuritaire que stocker le username/password?

A
  • Le mot de passe ne circule plus
  • Le JWT peut être expiré ou révoqué
  • Moins de risques en cas de vol