Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Eternel problème de sécurité


mofo

Messages recommandés

Bonjour,

 

J'arrive dans l'étape la plus douloureuse d'un développement, la sécurité. J'aimerai connaitre votre avis et vos techniques sur ce sujet.

 

Sur une page j'ai une applette java (c'est un jeu), dès que ce jeu est terminé, on doit cliquer sur le bouton 'Save'. Ce bouton apelle une page php qui est au meme niveau de l'arborescence. Ce fichier récupère les infos passées en GET par java, ecrit le score dans la base de données et retourne un code à java ('c'est ok ptit gars j'ai fait le boulot, balance la suite').

 

Mon problème est là. Actuellement, si j'execute mon fichier php à moa directement et que je passe tous les paramètres en GET je peux mettre le score que je veux !!!

 

Je teste avec un http_referer mais le problème est que quelqu'un de malicieu (j'aime bien ce terme) peut tres bien le changer (avec un proxy ...).

 

Il faut donc que je trouve une technique pour que mon fichier php ne s'execute que si c'est MON java qui l'apelle.

 

Toutes vos idées seront appréciées.

 

La seule contrainte, c'est que java ne discute pas avec la base de données. Si vous voulez plus de précisions ... allez y!

 

Merci d'avance.

 

Mofo

Lien vers le commentaire
Partager sur d’autres sites

POST ou GET il faut de toute façon qu'il y ait quelque chose de généré lors de l'exécution de l'applet pour qu'elle s'authentifie "dynamiquement" auprès du serveur... (surtout ne rien mettre en dur, vu que le code de l'applet est facilement décompilable !)

Généralement, pour bloquer les ajouts de scores "trop faciles", les sites de "concours" cryptent le score avec d'autres infos et ne transfèrent que ce code crypté au serveur qui, lui, a les moyens de décrypter...

 

En clair, en ne disposant que de l'algo de cryptage (par décompilation de l'applet) mais pas des infos transmises à l'instanciation de l'applet ni des clés de décryptage présentes sur le serveur, il est d'autant plus difficile de "générer" un code qui sauvegarde un score bidon en se faisant passer pour l'applet...

Lien vers le commentaire
Partager sur d’autres sites

Au pire tu fais un truc super simple...

Tu te fais une clé style: 25698701254230, tu ajoutes le score à cette clé en java, puis en php tu soustrais à la clé..

tu me diras, un petit malin peut tjrs ajouter un gros score avec...

Sinon, il doit bien exister la meme fonction hash en java et php?

Lien vers le commentaire
Partager sur d’autres sites

Et bien le plus simple serait de composer le score avec une série de lettres, avec un algo que tu fais toi meme :

 

1 - on fait correspondre un chiffre du score à sa lettre dans l'alphabet.

2 - on decale le tout de 8 rangs.

3 - on fait correspondre les nouvelles lettres à l'alphabet mais cette fois à l'envers.

4 - on redecale de 17 rangs.

 

Comme ca le score qui passe en url est en lettres puis tres codé. Ensuite tu refais un algorithme inverse et tu retrouves le score à mettre dans le BDD.

 

Sinon je veux bien essayer de t'aider en php.

 

+a+

Modifié par HeAdLeSs
Lien vers le commentaire
Partager sur d’autres sites

HeAdLeSs -> tres bonne idée. Mais le truc c'est que dans le java, il ne faut pas que ca soit compréhensible car presque n'importe qui peut 'cracker' une class et donc voir à l'intérieur la technique de cryptage !!!

 

Je vais prendre du temps pour mettre cela au point ce week end et je vous mettrai surement à contribution pour tester cette sécurité (vous serez autorisé à hacker mon site), sauf si vous savez pas jouer à sokoban ...

 

Merci

 

+

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...