Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Ah tiens, un formulaire de connexion d'une grosse entreprise. Bon, à tout hasard : OR ""="".
Ah tiens, me voilà logué.
Ah tiens, le premier utilisateur dans la base de données s'appelle « stagiaire ». PEBKAC.
PEBKAC #8648 proposé par Jean René le 25/09/2013 | 21 commentaires | 👍🏽 👎🏽 +227
plus qu'à rajouter un AND LOGIN='ADMIN' ;)
Commentaire #112579 écrit par Noraa le 25/09/2013 à 17h37 | 👍🏽 👎🏽
comment ça
OR ""=""
??????
Cap'tain Obvious??
Commentaire #112580 écrit par nonolelion le 25/09/2013 à 17h37 | 👍🏽 👎🏽
L'idée est que quand tu tapes un mot de passe dans un formulaire de connexion, il est utilisé dans une requête SQL, et que si tu tapes OR ""="", la requête reverra forcément true, et tu seras loggé. La plupart des webmasters codent leurs sites de manière à ce que cette technique ne marche pas, mais là...
Commentaire #112581 écrit par Somadeva le 25/09/2013 à 17h43 | 👍🏽 👎🏽
Et ça s'appelle de l'injection SQL.

Par contre le OR ""="" me semble un peu bizarre pour fonctionner, ça donnerait :
WHERE login=" OR ""=""" ...
Je pense qu'il manque les guillemets fermants avant, non ? Du genre " OR ""=" :
WHERE login="" OR ""="" ...
Commentaire #112584 écrit par juu le 25/09/2013 à 18h06 | 👍🏽 👎🏽
http://xkcd.com/327/
Commentaire #112586 écrit par greythaf le 25/09/2013 à 18h28 | 👍🏽 👎🏽
Le login est déjà "entrecoté" normalement, heureusement que c'est pas à l'user de saisir les doubles quotes fermant à la fin de son login.
Commentaire #112599 écrit par Krogoth le 25/09/2013 à 20h29 | 👍🏽 👎🏽
Et pour finir, on t'apprends ça la première semaine, donc le PEBKAC s'applique aussi bien au stagiaire (qui, on le suppose, a au moins fini sa première semaine) qu'à son tuteur (qui n'a pas vérifié un truc aussi essentiel).
Commentaire #112603 écrit par Voynich le 25/09/2013 à 22h07 | 👍🏽 👎🏽
Miam les entrecôtes...
D'ailleurs il faudrait "entre-quoter" ça
Commentaire #112606 écrit par Vordano le 25/09/2013 à 22h53 | 👍🏽 👎🏽
Mot de passe en clair dans la bdd donc ?
Commentaire #112607 écrit par QuestionMan le 25/09/2013 à 23h03 | 👍🏽 👎🏽
Sauf qu'en SQL, on utilise des simples quotes, bande de tanches.
Commentaire #112609 écrit par b0fh le 25/09/2013 à 23h23 | 👍🏽 👎🏽
Non pas forcément. Vu que c'est dans le login que tu mets cela. Tu peux avoir un hash pour le password.
Commentaire #112612 écrit par but2ene le 25/09/2013 à 23h41 | 👍🏽 👎🏽
Pour être sûr, je comparerais le mdp de stagiaire avec le MD5 de azerty, admin, stagiaire et password. Ainsi je peux redéfinir les mots de passe en les connaissants.
Commentaire #112621 écrit par ygnobl le 26/09/2013 à 02h43 | 👍🏽 👎🏽
Lui il faut le punir.

=> ; DROP DATABASE;
Commentaire #112629 écrit par Shadam le 26/09/2013 à 09h38 | 👍🏽 👎🏽
@Krogoth : il faut justement oublier le "normalement" car ici le site est mal fait, et l'utilisateur voulant faire de l'injection SQL saisira forcément les double-quote ou simple-quote pour tenter de fermer la chaîne puisque le login n'est pas échappé.

@b0fh : effectivement, mais si l'injection SQL a bien marché avec les doubles quotes, ça signifie que le développeur les utilisaient, et je suis parti de cette hypothèse pour mon exemple. Donc les tanches, ce sont les développeurs du site.
Commentaire #112630 écrit par juu le 26/09/2013 à 09h41 | 👍🏽 👎🏽
Étrangement, ça ne semble pas très bien fonctionner sur PEBKAC.fr :D
Commentaire #112653 écrit par OR ""="" le 26/09/2013 à 11h58 | 👍🏽 👎🏽
'OR''=' fonctionne très bien (sauf si le premier jeu de résultat a un niveau d'accès pourri).
Commentaire #112656 écrit par MonsieurJeSaisTout le 26/09/2013 à 12h35 | 👍🏽 👎🏽
Je ne comprends pas tout à ce charabia ( ah, les langages bizarres des jeunes, de nos jours ! ). mais ça a l'air génial génial comme truc ! Je suis toujours embêtée lorsque j'oublie mon mot de passe ou quand l'ordinateur fait des caprices, avec ce «or =» plus de problèmes.

Mais pourquoi cette fonction n'est-elle pas mise partout ? Ça simplifierait tellement la vie des gens !
Commentaire #112663 écrit par Mme Michu le 26/09/2013 à 14h47 | 👍🏽 👎🏽
Normal c'est :
' OR ''==' ou ' OR true OR ''==' Si le mot de passe est testé après avec un and.
Commentaire #112667 écrit par but2ene le 26/09/2013 à 15h13 | 👍🏽 👎🏽
Surtout que t'as pas besoin de te loguer pour poster. Un pseudo et hop.
Commentaire #112672 écrit par ROB le 26/09/2013 à 16h33 | 👍🏽 👎🏽
T'as oublié de préciser que normalement un mot de passe est hashé (crypté de manière à ne pas pouvoir être décrypté).
Commentaire #112687 écrit par Cartman34 le 26/09/2013 à 18h22 | 👍🏽 👎🏽
BIen sûr.

En fait, une des tables de la bdd avait les mots de passes en clair, et le tout fonctionnait sous un Spip.

En gros, on pouvait faire la correspondance entre la tables des utilisateurs avec mots de passes en clairs et celles des utilisateurs de spips (hash pas dégueu) pour avoir les pass...

C'est quand même déprimant de voir ce genre de chose en prod. Et si tu veux faire une bonne action et prévenir l'admin, t'as soit le droit soit à un merci, soit à un procés. C'est assez triste pour les utilisateurs.
Commentaire #112726 écrit par Jean René le 27/09/2013 à 07h37 | 👍🏽 👎🏽