Faille securite du composant AspExec ?

frahil Messages postés 5 Date d'inscription vendredi 8 juin 2001 Statut Membre Dernière intervention 25 juin 2002 - 12 juin 2002 à 15:20
Spoolz Messages postés 4 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 18 février 2005 - 18 févr. 2005 à 10:10
J'utilise le composant AspExec pour lancer un prog C avec des paramètres depuis une pase asp. On m'a dit qu'il pouvait avoir des failles de sécurité! Les connaissez-vous?
Si aucun patch, je vais devoir le réécrire pour lancer seulement mon programme ! ?

11 réponses

shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
12 juin 2002 à 16:11
si tu n'a qu'un prog à lancer,
tu peux peut être le faire avec
Set WshShell=CreateObject("WScript.Shell")
WshShell.Run "tonFichier.exe"
0
frahil Messages postés 5 Date d'inscription vendredi 8 juin 2001 Statut Membre Dernière intervention 25 juin 2002
13 juin 2002 à 09:49
Merci shaiulud
Mais, j'ai des paramètres à envoyer !
comment fais-tu ?
voilà comment je lançais avec Asp Exec:
Set Executor = Server.CreateObject("ASPExec.Execute")
cheminSite=Application("chemin_site")
Executor.Application = Application("chemin_site") & "\prog\toto.exe"
Executor.Parameters = Session("utilisateur") & " " & v_email & " ....
Executor.ShowWindow = True
strResult = Executor.ExecuteWinApp
0
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
13 juin 2002 à 09:53
Set WshShell=CreateObject("WScript.Shell")
WshShell.Run "tonFichier.exe "& Session("utilisateur") & " " & v_email & " ....

ça devrait fonctionner
0
frahil Messages postés 5 Date d'inscription vendredi 8 juin 2001 Statut Membre Dernière intervention 25 juin 2002
13 juin 2002 à 11:01
Merci pour les paramètres !
Et ça marche nickel ce forum !
mais,comment vérifier le bon lancement du prog ?

avec AspExec, je faisais :
Set Executor = Server.CreateObject("ASPExec.Execute")
...
Executor.ShowWindow = True
strResult = Executor.ExecuteWinApp
if strResult ="Ok" then
Response.Write "
" & "Le test est en cours..."
else Response.Write "
" & "Erreur ..."

Merci
Tu connaitrais la faille de sécurité de ce composant ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
13 juin 2002 à 14:16
tu viens de tomber sur la limite de cette méthode. on ne peut pas savoir.
le seul moyen est d'écrire un fichier de log depuis l'exécutable que tu lances (il faut alors que se soit toi qui l'ai écrit)
0
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
13 juin 2002 à 14:18
Exécute un programme dans un nouveau processus.

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
Arguments
object
Objet WshShell.
strCommand
Valeur de chaîne indiquant la ligne de commande que vous voulez exécuter. Vous devez inclure tous les paramètres que vous voulez passer au fichier exécutable.
intWindowStyle
Facultatif. Nombre entier indiquant l'apparence d'une fenêtre de programme. Notez que les programmes n'utilisent pas toutes ces informations.
bWaitOnReturn
Facultatif. Valeur booléenne indiquant si le script doit attendre la fin de l'exécution du programme avant de passer à l'instruction suivante de votre script. Si la valeur est définie sur true, l'exécution du script cesse jusqu'à la fin du programme et la méthode Run renvoit un code d'erreur provenant du programme. Si la valeur est définie sur false (valeur par défaut), la méthode Run répond immédiatement après le démarrage du programme, en renvoyant automatiquement 0 (à ne pas confondre avec un code d'erreur).
Notes
La méthode Run renvoie un nombre entier. La méthode Run démarre un programme en cours d'exécution dans un nouveau processus Windows. Vous pouvez faire en sorte que votre script attende la fin de l'exécution du programme avant de continuer. Cela vous permet d'exécuter des scripts et des programmes simultanément. Les variables d'environnement de l'argument strCommand sont automatiquement développées. Si un type de fichier a été correctement enregistré dans un programme particulier, l'appel de la méthode Run sur un fichier de ce type exécute le programme. Si, par exemple, Word est installé sur votre système, l'appel de Run sur un fichier *.doc démarre Word et charge le document. Le tableau suivant énumère les paramètres disponibles pour intWindowStyle.

intWindowStyle Description
0 Masque la fenêtre et en active une autre.
1 Active et affiche une fenêtre. Si la fenêtre est réduite ou agrandie, le système lui redonne sa taille et sa position d'origine. Une application doit spécifier cette indication lors du premier affichage de la fenêtre.
2 Active la fenêtre et l'affiche en taille réduite.
3 Active la fenêtre et l'affiche en taille agrandie.
4 Affiche une fenêtre en respectant sa taille et sa position les plus récentes. La fenêtre active reste active.
5 Active la fenêtre et l'affiche d'après sa taille et sa position actuelle.
6 Réduit la fenêtre spécifiée et active la fenêtre de niveau supérieur suivante dans l'ordre alphabétique.
7 Affiche la fenêtre sous l'aspect d'une fenêtre réduite. La fenêtre active reste active.
8 Affiche la fenêtre dans son état actuel. La fenêtre active reste active.
9 Active et affiche la fenêtre. Si la fenêtre est réduite ou agrandie, le système lui redonne sa taille et sa position d'origine. Une application doit spécifier cet indicateur lors de la restauration d'une fenêtre réduite.
10 Définit l'état d'affichage en fonction de l'état du programme qui a démarré l'application.

Exemple 1
Le code VBScript suivant ouvre une copie du script en cours d'exécution grâce au Bloc-notes.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%windir%\notepad " & WScript.ScriptFullName
Le code VBScript suivant fait la même chose, si ce n'est qu'il spécifie le type de fenêtre, attend que l'utilisateur ferme le Bloc-notes et enregistre le code d'erreur renvoyé par le Bloc-notes lors de la fermeture.

Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("notepad " & WScript.ScriptFullName, 1, true)
Exemple 2
Le code VBScript suivant ouvre une fenêtre de commande, modifie le chemin en C:\ et exécute la commande DIR.

Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C:\ & Dir"
Set oShell = Rien
0
somiss Messages postés 4 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 30 août 2004
7 nov. 2003 à 10:24
bonjour

J'essaye d'utiliser WScript.Shell mais rien ne se passe
Je voudrais zipper un dossier
J'ai une fonction RunExe :

Function RunExe(Command)
On Error Resume Next
Dim ShellObject, Res
Set ShellObject = CreateObject("WScript.Shell")
RunExe = ShellObject.Run(Command, 1, True) & vbCrLf
ShellObject = Empty
If Err <> 0 Then
RunExe = Err
End If
On Error GoTo 0
End Function

Quand je lance
Response.Write(RunExe(macommande))
Le navigateur écrit 12 et mon fichier zip n'est pas créé
Si je tape la même ligne de commande dans la console dos, ca fonctionne

Que veut dire ce 12 ?

Merci d'avance
0
vow Messages postés 54 Date d'inscription mardi 18 septembre 2001 Statut Membre Dernière intervention 27 juillet 2005
30 déc. 2003 à 16:45
Je pense que 12 est le numéro de l'erreur.
Pour avoir le libellé exact, il faudrait que tu lises Err.Description.
~~~~ Vow ~~~~
0
somiss Messages postés 4 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 30 août 2004
31 déc. 2003 à 09:26
C'est ce que je pensais aussi mais je savais pas où trouver le libellé de l'erreur
Finalement j'en ai pas eu besoin et j'ai trouvé y a déjà un moment donc je sais plus quelle était l'erreur

Merci quand même de ta réponse
0
thibobr Messages postés 31 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 13 septembre 2007
11 août 2004 à 18:10
Bon je sais 9 mois plustard je viens m'interesser a de vieille discusion.
Menfin si qq sais comment lancer une appli .exe en asp merci de me le faire savoir car moi j'ai un bleme.

dim command, retour
command = "C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE"
response.Write command
dim leShell
'On Error Resume Next
Set leShell = CreateObject("Wscript.shell")
leShell.Run command, 0, true
Set leShell = nothing

la j'ai une erreur sur le run genre fin d'instruction attendu

ca fait un moment que je cherche.
merci
0
Spoolz Messages postés 4 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 18 février 2005
18 févr. 2005 à 10:10
bonjour,



je voudrais faire exactement la même chose, créer un fichier zipper à
partir d'une page asp et je n'ai pas réussi à le faire.

Est-ce que vous pouvez me donner un coup de main.

Merci d'avance.


Spoolz Telecom
0
Rejoignez-nous