exe auf client starten

Hallo zusammen,

ein heikles Thema weil damit viel Unsinn betrieben werden kann. Ich versuche aus einer Webanwendung eine exe auf dem Client des Anwenders zu starten. Das funktioniert theoretisch, weil es sich um eine reine Intranetanwendung handelt und alle Server gleich aufgesetzt sind.
Allerdings schaffe ich es noch nicht mal Solitär auf dem Client zu starten. Es läuft nur ein "sol.exe" Prozess auf dem Server ab, wo sich auch der IIS drauf befindet.
Kennt jemand eine möglichkeit eine exe auf dem Client zu starten.

Grüße
 
Vergiss das mal ganz schnell. Erstens denkt man als verantwortungsvoller Webentwickler nicht einmal über so eine Möglichkeit nach und zweitens denke ich, das es nicht möglich ist.
Mit reinem ASP schon mal gar nicht, da dein Programmcode ja am Server verarbeitet wird und nur mehr reines HTML an den Client geschickt wird. Man kann höchstens jetzt noch clientseitigen Skriptcode einbauen, aber ich bin mir sicher, damit wird es dir auch nciht gelingen eine EXE-Datei auf einem lokalen System auszuführen.
Das wäre eine riesige Sicherheitslücke. Stell dir einfach vor, jemand programmiert eine harmlos aussehende Seite und startet in Wirklichkeit einen Format C: Befehl bei dir. Du siehst, das Risiko solch einer Vorgehensweise wäre viel zu groß.

Falls du dennoch eine Lücke im System finden solltest, dann wäre es schön wenn du MS und andere betroffene Firmen informieren würdest, damit die das Sicherheitsloch gleich schließen können ;-)

So long,
Chrisu
 
Hallo Chrisu,

erstmal Danke für deine Antwort. Aber, warum sollte man als verantwortungsvoller Webentwickler nicht über sowas nachdenken und zwar im Sinne der Anwenderzufriedenheit. Mein Problem ist rein Intranet bezogen und da unsere Firma die eigene Intranetseite als vertrauenswürdig ansieht, sollte hier doch einiges mehr möglich sein als im Intertnet.
Man kann ja auch als client Skripte und Prozesse auf dem Server starten. (Wenn mir da jemand erklären könnte wie man eine so gestartete Anwendung in den Vordergrund holt, wäre ich sehr dankbar). Also warum sollte man dann nicht im Intranet, auf identischen Clients ".exe-Dateien" anstarten können?
Logischer weise hätten Gator, Gain und Co interesse an sowas, aber diese Firmen bräuchten es fürs Internet und dass wäre klar eine Sicherheitslücke, wenn es sowas geben würde. Da Stimme ich dir voll zu.
Für den Fall, dass ich es doch schaffen sollte behalte ich es für mich, damit meine Anwendung weiterhin so läuft wie ich mir das vorstelle. ;-)

Grüße und Dank
 
Hallo derfragende79,

ich will mal versuchen deine Fragen nochmals genauer zu betrachten:

1.) ein verantwortungsvoller Webentwickler sollte nicht über so eine Lösung nachdenken, weil man man sonst sehr schnell in die Kategorie "Böser Hacker" eingeteilt werden kann. Wie schon gesagt wäre solche eine Funktion ein sehr großes (wenn nicht das größte) Sicherheitsrisiko. Damit kann zuviel Blödsinn gemacht werden. Und dabei spiel es keine große Rolle ob es Inter- oder Intranet ist. Das wird von Server und/oder Browser nicht unterschieden.

2.) Das du Prozesse auf dem Server starten kannst ist kein Problem, obwohl ich das auch teiweise als riskant ansehe. Aber dafür ist man ja selber verantwortlich. Dein ASP-Sourcecode wird ja direkt am Server vom IIS verarbeitet und mach alles was du ihm sagst. Das Ergebnis bekommt der Client dann als reines HTML zurück geschickt. Ob es Sinn macht am Server Prozesse zu starten kann ich dir nicht sagen. Eventuell kann man so ein Skript programmieren, mit dem der Server neu gestartet wird oder ähnliches. Aber so eine Funktion sollte niemals ein Außenstehender mitbekommen. Der könnte so eine Seite auch finden (wenn sie nicht passowrtgeschützt ist) und dann vielleicht deinen Server die ganze Zeit neu starten (oder was für Prozesse auch immer du programmiert hast). Also Prozesse am Server starten ist möglich, aber meiner Meinung nach nicht immer ratsam. Auch in einem Intranet kann es böse Menschen geben.

3.) EXE-Datei am Client ausführen. Das geht mit ASP definitiv nicht. No Way ... keine Chance. ASP wird immer nur am Server interpretiert und für die Ausgabe zum Client kommt nur HTML. Und mit HTML kannst du keine Anwendung starten. Die einzigste Möglichkeit die man hätte, wäre eine clientseitige Skriptsprache wie JavaScript, aber die werden direkt vom Browser interpretiert. Und dadurch kann man sich sicher sein, dass eine Funktion zum Starten von EXE-Dateien nicht vorhanden ist. Wie gesagt, ich lasse mich gerne eines besseren belehren. Aber Browser-Skriptsprachen sind extra auf Sicherheit getrimmt und lassen sowas nicht zu.

4.) ich kenne jetzt nicht deine Intranet Struktur und wie bei euch das Netzwerk aufgebaut ist. Meine Frage ist jetzt nur, wofür brauchst du das überhaupt. Welches Programm möchtest du denn überhaupt starten und kann das nicht über einen anderen Weg erfolgen?

Eine Möglichkeit könnte es dennoch geben. Auch wenn ich jetzt keine Garantie darauf geben möchte.
Also, wenn alle Rechner im selben Netzwerksegment sind und somit sich auch gegenseitig ansprechen können (entsprechende Berechtigungen vorausgesetzt) könntest du über das Netzwerk ein Programm starten. D.H. du lässt dir vom Client eine Kennung mitschicken (z.B. über Login, oder so) und startest dann mit ASP einen Prozess. Dieses Programm liegt aber nicht lokal auf deinem Server, sondern bei einem Client der über das normale Windows-Netzwerk angesprochen wird. Damit sollte es dann eventuell funktionieren. Wie es mit den Rechten usw. aussieht kann ich dir jetzt nicht sagen. Habs nicht ausprobiert. Würd ich aber auch nicht machen, da ich noch immer finde, dass das eine sehr unsaubere Lösung wäre. Und die Netzwerksicherheit könnte eventuell auch darunter leiden.
EDIT:
Vergiss es, hab mich geirrt. Auch damit würdest du nur einen Prozess auf deinem Server starten. Allerdings mit einem Programm von einem entfernten Rechner. Aber du könntest ein kleines Programm schrieben, dass vom Server aus Befehle an einen selbstgeschrieben Client verschickt. Und der Client startet dann dein Programm. So müsste es funktionieren.

Also falls du eine andere Möglichkeit verwenden würdest, wäre es sicher eine elegantere Variante. Ich hoffe, meine Ausführungen helfen dir ein wenig weiter.

So long,
Chrisu

PS: Machs nicht! Such dir lieber einen anderen Weg ;-)
Kleiner Rat am Rande
 
Zuletzt bearbeitet:
Mahlzeit,

ich hab das gleiche Problem. Bin kein Hacker, sondern habe zur Zeit den Auftrag die Netscape Navigator Statusleiste als Erweiterung für den Firefox nachzubauen. Da muss ich (egal wie) eine exe über Javascript starten, weil der Firefox nun mal das intern als Skriptsprache einsetzt.
Besteht nicht irgendwie die Möglichkeit ein Shell aufzurufen, dass mir dann eine exe startet? Wenn 's die Hacker können...

Grüße

stylax
 

Neue Beiträge

Zurück