Encoded string - bin am Verzweifeln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Encoded string - bin am Verzweifeln

    Hi, ich hab mal wieder ein kleines Problem:

    Ich hole mir via der Linux-Funktion "curl" und der PHP-Funktion "shell_exec" die Antwort einer Webseite.

    $ret=shell_exec("curl ...");

    Ausgabe:
    PHP-Code:
    HTTP/1.1 200 OK
    Date
    Mon29 Oct 2007 12:17:34 GMT
    Server
    Apache/2.2.3 (Ubuntumod_python/3.3.1 Python/2.5.1
    Connection
    close
    Content
    -Typetext/htmlcharset=UTF-8

     
    <body onload='document.redir.submit();'><form action='http://uploaded.to' target='_top' name='redir'>
    <
    input type="hidden" name="PHPSESSID" value="699958cb9c8c06982e53c854ae08a0c8" /></form></body

    Dann versuch ich via preg_replace() die PHPSESSID auszulesen, was nicht funktioniert:

    preg_replace('/^(.*)name="PHPSESSID" value="([a-z0-9]+)"(.*)$/ims', "\\2", $ret);

    Ausgabe:
    PHP-Code:
    HTTP/1.1 200 OK
    Date
    Mon29 Oct 2007 12:17:34 GMT
    Server
    Apache/2.2.3 (Ubuntumod_python/3.3.1 Python/2.5.1
    Connection
    close
    Content
    -Typetext/htmlcharset=UTF-8

     
    <body onload='document.redir.submit();'><form action='http://uploaded.to' target='_top' name='redir'>
    <
    input type="hidden" name="PHPSESSID" value="699958cb9c8c06982e53c854ae08a0c8" /></form></body

    Dann versuche ich es via substr($var, 0):

    PHP-Code:
    HTTP/1.1 200 OK
    Date
    Mon29 Oct 2007 12:17:34 GMT
    Server
    Apache/2.2.3 (Ubuntumod_python/3.3.1 Python/2.5.1
    Connection
    close
    Content
    -Typetext/htmlcharset=UTF-8

     
    <body onload='document.redir.submit();'><form action='http://uploaded.to' target='_top' name='redir'>
    <
    input type="hidden" name="PHPSESSID" value="699958cb9c8c06982e53c854ae08a0c8" /></form></body
    und dann kommt noch substr($var, 250):

    PHP-Code:
     target='_top' name='redir'></form></body

    Ich werde daraus ums Verrecken nicht schlau. Der String wird auf irgend eine Weise verschluesselt/encodiert und ich hab keine Ahnung mehr, was ich noch versuchen soll. (Hab auch schon versucht mit iconv den String von UTF-8 nach ISO-8859-1 zu konvertieren, etc.)

    Bin ueber jede Hilfe dankbar, MfG, Chris

    Zuletzt geändert von extr3m0; 29.10.2007, 13:35.
    www.myplaner.de

  • #2
    substr($ret, strpos('value="')+7, 32);

    Kommentar


    • #3
      btw. brauchst du ggf. nicht extra über shell_exec() zu gehen - falls deine php-installation das cURL packet inne hat...
      **********
      arkos
      **********

      Kommentar


      • #4
        danke fuer die schnellen antworten, leider ohne erfolg:


        substr($ret, strpos($ret, 'value="')+7, 32);

        Ausgabe:
        PHP-Code:
        1 200 OK
        Date
        Mon29 Oct 2007 
        Also kann strpos() wohl nix finden... also iwie muss der <INPUT> encodet sein oder so?



        Wg shell_exec:

        Ich weiss, ich benutz beides... finds aber hier viel angenehmer ueber die Linux-Funktion zu gehen, da ich hier die Optionen leichter verwalten kann.


        MfG
        www.myplaner.de

        Kommentar


        • #5
          Die Seite ist in UTF-8. So steht es zumindest im Header.
          Wenn irgendwo 'value="' vorkommt, findet es substr(). Wenn es nichts findet, kommt es nicht vor. Daraus folgt: Deine Ausgaben da oben sind nicht das, was in $ret enthalten ist.

          Kommentar


          • #6
            deswegen bin ich ja am verzweifeln... es enthaelt es, aber es ist iwie verschluesselt. ka... vll steht es ja "hex-verschluesselt" oder.... kA eben!
            www.myplaner.de

            Kommentar


            • #7
              Junge, wenn echo $ret; das ausgibt, was du da oben gepostet hast, dann ist da nichts verschlüsselt. Wie kommst du bloß darauf?

              Zeig mal den gesamten Code.

              Kommentar


              • #8
                lass mal im ersten schritt (zum testen) das " wech...

                substr($ret, strpos($ret, 'value=')+7, 32);

                kommt da was raus? ist deine obige ausgabe ausm quelltext, oder ausm screen??

                will nur wissen, ob da was raus kommt... und was raus kommt
                **********
                arkos
                **********

                Kommentar


                • #9
                  Wg strpos: Auch beim Weglassen der Quotes gibt es keine Aenderung.


                  Der gesamte code:

                  PHP-Code:
                  $ret=upload($form_url"file1x"$tmpfile); 

                  echo 
                  "ret: $ret\n-------------\n";

                  $fields=array();
                  $fields['PHPSESSID']=#iconv_substr($ret, 270, 32);
                                 
                  preg_replace('/^(.*)name="PHPSESSID" value="' $linkre '"(.*)$/ims'"\\2"$ret);
                  echo 
                  "sessid: " $fields['PHPSESSID'] . "\n----------\n";
                  echo 
                  "substr 0: " substr($ret0) . "\n------\n"
                  echo 
                  "substr 250: " substr($ret250) . "\n------\n";
                  echo 
                  "substr+strpos: " substr($retstrpos($ret'value=')+732); 
                  exit; 
                  die Ausgabe bekomm ich ueber eine ssh-Konsole.

                  also es wird nicht veraendert.



                  @onemorenerd
                  Sorry, war aus Versehen auf F5 gekommen!
                  Zuletzt geändert von extr3m0; 29.10.2007, 15:04.
                  www.myplaner.de

                  Kommentar


                  • #10
                    Du wiederholst dich. Mach mal 'ne Pause!

                    Kommentar


                    • #11
                      was auch interessant ist:

                      wenn ich den string direkt im quelltext abspeicher, also mit

                      $ret="HTTP... </body>";

                      dann kann ich auch die sessid auslesen...

                      so long & still hopin', chris


                      edit:
                      hab mir jetzt mal testweise die ausgabe im browser anzeigen lassen: dort ist weder bei der ausgabe von $ret selbst, substr, etc. das <input> feld vorhanden.
                      Zuletzt geändert von extr3m0; 29.10.2007, 17:22.
                      www.myplaner.de

                      Kommentar

                      Lädt...
                      X