Trou de sécurité ou pas sur ce site ??? [php] - PHP - Programmation
Marsh Posté le 20-08-2003 à 20:36:05
tetedeiench a écrit : En bidouillant avec mon browser, sur un site quand meme tres connu de gestion d'email que je n'avait jamais utilisé auparavant ( je tairai son nom...), je suis tombé la dessus affiché dans IE : |
Au oui, c'est une faille grandiose qui te permet de tout modifier chez eux, y compris les feuilles de payes des salariés.
Bon, plus, sérieusement, si t'as eu que ça comme info dans ton navigateur, alors je vois pas ce que tu pouras en faire.
Tu sais, que leur base de donnée s'apelle "desktop", qu'elle contient une table userdb contenant au moins deux colones comp et crypt.
Mais avec ça, tu crois pouvoir faire quoi? Te conecter a leur base de donnée? Te conecter avec le comptes d'un autre?
Marsh Posté le 20-08-2003 à 20:37:33
Moui remarque...
Par contre, je me demande si en changeant la variable usr dans l'url y aurai pas moyen...
Style reproduire la meme erreur mais en mettant $usr='1;delete * from userdb'.
Ce serait pernicieux mais...
Marsh Posté le 20-08-2003 à 21:12:36
tetedeiench a écrit : Moui remarque... |
lol, c'est sur que si t'y vas comme ça, ca pourait être assez drole.
J'espères pour eux qu'ils l'initialisent quelque part cette variable là.
Heu, par contre, y a un truc que j'ai pas compris là, comment ca ce fait que t'ai eu droit a la ligne de code complète et pas a la requête seule?
Lol, ils ont peut être fait un poisson d'avril a la mauvaise date.
Marsh Posté le 20-08-2003 à 21:51:52
tetedeiench a écrit : Moui remarque... |
je ne pense pas,car maintenant les serveur mettent automatiquement les backslashes dans les variables donc tes ' ne seront pas interprété.
et puis si tu arrive a voir la requete en clair,c'est qu'elle n'est pas executer ou bien alors que le mec a fait un echo lorsqu'il debuguer son script
Marsh Posté le 20-08-2003 à 22:00:08
tetedeiench a écrit : Moui remarque... |
Les commandes d'acces DB de php ne supportent pas de mettre plusieures requetes à la suite. Donc on est tranquille de ce coté la.
Marsh Posté le 20-08-2003 à 22:16:43
Kristoph a écrit : |
tu peux transformer la requete en :
$result = mysql("desktop","select crypt from userdb where comp = '' and 1 = (delete * from userdb)'" ); et ca revient au meme
Marsh Posté le 20-08-2003 à 22:18:31
tetedeiench a écrit : |
pas de sous requete avec mysql
Marsh Posté le 20-08-2003 à 22:19:07
Kristoph a écrit : |
C'est certain ça, ou c'est juste vrai pour mysql?
J'ai bien vu par moi même qu'on peut faire qu'une seule requête a la fois avec mysql, mais je conais pas les autres bases de données.
Marsh Posté le 20-08-2003 à 22:19:54
omega2 a écrit : C'est certain ça, ou c'est juste vrai pour mysql? |
mysql admet de toute manière les requetes imbriquées...
j'ai envie de tenter le coup mais j'ose pas
Imaginez, le site a son compteur a 9 000 000 et plus la
Marsh Posté le 20-08-2003 à 22:20:30
ReplyMarsh Posté le 20-08-2003 à 22:21:50
forummp3 a écrit : pas de sous requete avec mysql |
c'est une blague ?
Car si c'est vrai, le pauvre, c'est tellement plus clair avec des requetes oimbriquées, et les performances sont tellement meilleurs ( jointures simplifiées... )
Marsh Posté le 20-08-2003 à 22:22:06
tetedeiench a écrit : |
Et si tu leur envoyais un simple mail?
Ca réglera peut être le problème et peut être même qu'ils se rendront comptes de plusieurs problème a la fois.
Marsh Posté le 20-08-2003 à 22:23:50
tetedeiench a écrit : |
performances meillieure, ca dépend des fois.
Par ce que tu simplifie les jointures, mais tu empêches le SGBD de choisir l'ordre d'exécution des "sous-requêtes". Au lieux de pouvoir faire plusieurs traveaux a la fois, il est obligé d'attendre que le premier soit finis pour lancer les autres.
Marsh Posté le 20-08-2003 à 22:50:23
omega2 a écrit : ca dépend mysql 3.x 4.x ou 5.x ? |
3 et 4,mysql 5 n'est pas encore sortit.
Marsh Posté le 20-08-2003 à 23:22:59
forummp3 a écrit : 3 et 4,mysql 5 n'est pas encore sortit. |
Son développement n'est pas encore commencé?
Il me semblait que c'était le cas.
Marsh Posté le 20-08-2003 à 23:26:38
omega2 a écrit : Son développement n'est pas encore commencé? |
si ca a commencé,mais c'est pas encore sortit.Je crois que les sous requetes vont etre dans la prochaine version de mysql 4
Marsh Posté le 20-08-2003 à 23:35:23
forummp3 a écrit : si ca a commencé,mais c'est pas encore sortit.Je crois que les sous requetes vont etre dans la prochaine version de mysql 4 |
ok, bon, pour finir, je vais en avoir appris des trucs aujourd'hui.
Marsh Posté le 21-08-2003 à 03:13:00
tetedeiench a écrit : |
Commence par essayer d'effacer TON compte de cette façon. Mais je doute fort que ça fonctionne
Marsh Posté le 21-08-2003 à 05:30:50
tetedeiench a écrit : |
Optimiseur, optimiseur ... es tu là ? si oui, créés moi deux tables temporaires ... ...
Marsh Posté le 21-08-2003 à 08:18:32
forummp3 a écrit : 3 et 4,mysql 5 n'est pas encore sortit. |
MySQL 4.1 supporte les requêtes imbriquées...
Marsh Posté le 21-08-2003 à 08:54:14
bon, bah alors ca donne quoi ??
t as reussis a cracker hotmail ou pas
Marsh Posté le 21-08-2003 à 14:07:49
tetedeiench a écrit : nan mais j'hésite a tenter l'coo tu vois |
comme le dis JagStang , commence par effacer ton propre compte
Marsh Posté le 21-08-2003 à 14:09:08
tetedeiench a écrit : nan mais j'hésite a tenter l'coo tu vois |
ca marchera pas j'ai deja tester sur un site
de toute facon je te l'ai dis,le serveur met automatiquement des \ devant les guillement de la variable,donc tu va te retrouver avec un truc du genre select... where=";\"sql_mechant\""; et tes guillement ne seront pas interprété.
tchao
Marsh Posté le 21-08-2003 à 14:20:29
forummp3 a écrit : de toute facon je te l'ai dis,le serveur met automatiquement des \ devant les guillement de la variable,donc tu va te retrouver avec un truc du genre select... where=";\"sql_mechant\""; et tes guillement ne seront pas interprété. |
Dépend du réglage du serveur.
Marsh Posté le 21-08-2003 à 14:21:16
omega2 a écrit : Dépend du réglage du serveur. |
ben par defaut c'est comme ca
Marsh Posté le 21-08-2003 à 14:32:59
ReplyMarsh Posté le 21-08-2003 à 14:58:32
Tu as peur d'être déçu ?
Marsh Posté le 21-08-2003 à 16:00:35
de perdre mon compte.
Bon, je me suis lancé, j'ai créé un compte bidon, ca marche, j'ai viré mon compte...
Je vais rpévenir l'auteur que bon ben... voilà quoi.
aie.
Marsh Posté le 21-08-2003 à 16:18:17
tetedeiench a écrit : de perdre mon compte. |
j'ai bien compris .....tu as réussi à virer ton compte ?
Marsh Posté le 21-08-2003 à 16:19:34
simogeo a écrit : |
MEGA BUG alors.
Et c'est un site pro en plus je parirais.
Marsh Posté le 21-08-2003 à 16:28:35
ReplyMarsh Posté le 21-08-2003 à 18:22:11
j'ai de la peine à croire qu'un truc pareil aie passé.... tu nous file une preuve ? (j'adore derrick)
Marsh Posté le 21-08-2003 à 18:38:31
j'ai revé ou qqun à dit que les requetes imbriquées étaient plus performantes qu'une jointure là?
Marsh Posté le 21-08-2003 à 19:48:57
the real moins moins a écrit : j'ai revé ou qqun à dit que les requetes imbriquées étaient plus performantes qu'une jointure là? |
il a pas dis plus lisible, plutôt
Marsh Posté le 21-08-2003 à 19:52:52
tetedeiench a écrit : c'est tellement plus clair avec des requetes oimbriquées, et les performances sont tellement meilleurs ( jointures simplifiées... ) |
Marsh Posté le 21-08-2003 à 20:08:53
tu vois qu'il a dit meilleur
Marsh Posté le 20-08-2003 à 19:46:56
En bidouillant avec mon browser, sur un site quand meme tres connu de gestion d'email que je n'avait jamais utilisé auparavant ( je tairai son nom...), je suis tombé la dessus affiché dans IE :
$result = mysql("desktop","select crypt from userdb where comp = '$usr'" );
J'ai modifié les variables pour etre sur de ne pas nuire au site en question, et je tairai son nom.
pensez vous que voir ce code représente une faille de sécurité pour le site en question ou pas ?
Cela montre en tout cas le bien qu'il y a a ne pas afficher la requete en cas d'erreur mysql...