Normalement, en tout cas, c'est mon cas, quand je suis sur localhost (ou 127.0.0.1) et que j'exécute ce script (pas sécurisé du tout, mais c'est juste à titre informatif) :
<?php
if(isset($_GET["dir"]))
{
$dir = opendir($_GET["dir"]);
while($file = readdir($dir)) echo "$file<br>";
}
?>
En passant par
http://localhost/page.php?dir=/, j'obtiens la liste des fichiers et dossiers à la racine du lecteur.
Si ton répertoire www/ est sur le lecteur C:, en passant par /, tu peux accéder à tous les fichiers de manière relative, et donc faire :
http://localhost/page.php?dir=/Windows/notepad.exe , à moins que le script ActiveX ne parcoure pas l'arborescence des fichiers à la manière de PHP.
Mais dans ce cas, est-ce que je ne parcours pas l'arborescence du serveur et non celui du client ?
Sachant que du point de vue des utilisateurs de ce futur intranet, le serveur sera distant, ça poserait problème.
Je me pose la question ? Quelles failles ce script poserait-il vraiment ?
Après tout, le but est d'executer un programme sur un poste client depuis un poste client : le serveur n'est-il donc pas intouchable (rien ne se passe sur le serveur) ?
Une faille ne pourrait venir que d'un webmaster malveillant uploadant un executable malveillant sur le PC client et le faisant ensuite s'executer, non ?
Bref à bien y réfléchir, l'idée du bat me convient mieux. On pourrait même alors se passer de Javascript, un simple lien vers le bat, on demande de l'executer plutôt que de le télécharger et tout irait bien ?