Kann ich ein beliebiges Javascript serverseitig ausführen und auf redirects prüfen?

Hi zusammen,

auf einem Server können angemeldete user eigene Javascripts per FTP hochladen. Nun kommt es immer wieder mal vor, dass ein user einen Virus/Trojaner hat und ohne Wissen des users, ein bösartiges Javascript in die Javascript-Datei generiert wird. Solche Scripts führen dann in der Regel einen redirect auf irgendwelche russischen oder chinesischen Seiten oder ähnliches aus…

Wie kann ich dem nun entgegenwirken?
Da die bösen Scripts auch pseudo-verschlüsselt sind, genügt kein einfaches parsen. Einfacher wäre es nun das Script in einer Art SandBox auszuführen und zu prüfen, ob ein redirect ausgeführt wird.

Gibt es da etwas?
Kann jemand weiterhelfen?

Danke+Gruß
Jens

Hi Jens!

Also Serverseitig mit einem Script, das die Datei durchsucht.
Allerdings würde ich auf der Client-Seite das Hochladen umstellen, nicht via FTP sondern über ein Frontend, dann die Datei durchsuchen vor dem hochladen und darüber den Benutzer informieren das etwas nicht stimmt.

Grüße
Matze

Hi Matze,

im Prinzip geb ich Dir völlig recht, leider ist das
nicht so einfach…

Wenn ein Script z.B. so einen redirect auslöst:

window[String(„NZGponl“.substr(4)+„oad“)]=unescape("%68%

74%74%…");

Wie soll ich das dann parsen?
Das Beispiel ist schon vereinfacht und auch nur eines
von vielen…

Daher mein Denkansatz, ob man nicht ein Javascript in
einer SandBox ausführen könnte. Eventuelle
Verschlüsselungen und Pseudo-Verschlüsselungen wären dann
kein Problem.
Nur finde ich leider nichts in der Richtung.

Gruß
Jens

Hallo Jens,

da wir als Experten ausgewählt sind, hier Feedback zu Deiner Frage: Unsere Software F-Secure Anti-Virus für Server entfernt bösartige Javascripte beim Scannen, Infos dazu findest Du hier: http://www.f-secure.com/de_DE/products/business/serv….

F-Secure Client Security enthält die Browsing-Schutz-Funktion, die das Ausführen bösartiger Scripte blockiert. Hier gibt es Infos dazu: http://www.f-secure.com/de_DE/products/business/desk…

Wir hoffen, dies hilft Dir weiter.

Mit besten Grüßen,
Dein F-Secure Supportteam

Grüße dich Jens!

ja, das ist wirklich nicht so einfach.
Javascipt in einer Sandbox… uiui, das wird schwer.
Es gibt defacto keinen Sandbox-Container für Javascript. Nicht das ich wüsste.

Kannst du nicht mit regex danach suchen?
Alles was window. oder window; usw. ist ersetzen?
Oder wenn unesc

Es gibt einige die es über ein iframe lösen, das finde ich ist aber kein guter Ansatz.

Im zweifel helfen dir einige Ansätze aus dem Programm hier wieter (Firebug). Aber wird auch eher schwer denke ich.

Also ich schätze das du mit Regulären Ausdrücken weiter kommen wirst. Was denkst du?

Grüße
Matze