web-dev-qa-db-fra.com

Comment expliquer l'injection SQL sans jargon technique?

J'ai besoin d'expliquer l'injection SQL à quelqu'un sans formation ni expérience technique. Pouvez-vous suggérer des approches qui ont bien fonctionné?

549
torayeff

L'injection SQL est l'endroit où un utilisateur malveillant tente d'obtenir des informations d'un site Web auxquelles il n'est pas autorisé à accéder.

C'est un peu comme interroger une autre personne, où l'interrogateur est l'utilisateur malveillant et la personne interrogée est le site Web.

Les choses que l'interrogateur pourrait faire sont:

  • Rechercher les antécédents de la personne pour trouver une faiblesse
  • Utiliser diverses techniques connues qui ont fonctionné dans le passé sur d'autres personnes
  • Trouvez de nouvelles techniques à utiliser

Certaines faiblesses de la personne interrogée peuvent être:

  • La formation de la personne
  • L'intelligence de la personne
  • La famille de la personne
  • Le type de personne qu'ils sont

Les choses à noter sont qu'il y a de meilleurs interrogateurs que d'autres et que certaines personnes parleront tout de suite alors que d'autres ne le feront jamais.

3
ponsfonze

Bien expliquer avec une analogie technique c'est bien mais je dirais un peu long et boiteux.

Je voudrais simplement expliquer qu'il s'agit de formalités administratives strictes ou d'exigences pour limiter les abus dans les administrations et les finances.

Si c'est fait d'une manière suffisamment stricte, vous avez moins de poissons maléfiques capables de passer à travers le filet.

J'utiliserais un dessin simple avec un pseudo-code très simple avec des boîtes et des flèches, et expliquerais l'analogie avec les robots et les boîtes.

2
jokoon

Mon approche pour un non-technophile:

Supposons que vous travaillez dans un grand immeuble de bureaux. Chaque employé a une clé propre à son bureau (= requête SQL que le programmeur voulait exécuter). Maintenant, quelqu'un prend un fichier aiguille et modifie un peu sa clé, c'est-à-dire en supprimant une broche (= injection SQL, modification de la requête SQL). Cette clé modifiée peut ouvrir différentes (ou peut-être toutes les portes). Ainsi, le greffier a accès à plus ou à tous les bureaux de cette maison et peut lire/modifier des documents provenant d'autres bureaux.

Tout le monde est probablement habitué à utiliser des clés et des verrous, donc cela devrait être facile à comprendre et, à mon avis, c'est une bonne analogie avec une injection SQL.

1
qbi