kostenloser Webspace werbefrei: lima-city


HTML Formular entgegennehmen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mc-status

    mc-status hat kostenlosen Webspace.

    Guten Tag.
    Ich habe folgendes Formular mit http://de.selfhtml.org/ zusammengebaut.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
    <head>
        <title>Formular</title>
    
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
        <meta name="description" content="">
        <meta name="author" content="">
        <meta name="keywords" content="">
    
        <link href="style.css" type="text/css" rel="stylesheet">
    </head>
    <body>
    
    <form action="http://localhost/mc-status/fertig.php" method="post" enctype="multipart/form-data">
    <p>Nummer:<br /><input name="nummer1" type="number" maxlength="15"/></p>
    <p>Zweite Nummer:<br /><input name="nummer2" type="number" maxlength="5"/></p>
    <p>Bild:<br /><input name="bild1" type="file" accept="image/png"/></p>
    <p>zweites Bild:<br /><input name="bild2" type="file" accept="image/png"/></p>
    <p>E-Mail Adresse:<br /><input name="mail" type="email"/></p>
    <p><input type="submit" value="Absenden"/></p>
    
    </form>
    
    </body>
    </html>
    http://pastebin.com/9ZK97yQg

    Nun wollte ich Fragen wie ich das mit PHP entgegennehme?
    Ich habe mir das so vorgestellt:

    Auf dem Webspace wird automatisch ein Ordner erstellt der so heisst wie die erste Nummer (nummer1). Darin sollte automatisch eine txt Datei erstellt werden die die restlichen Inhalte Beinhaltet.
    Zusätzlich sollten die zwei Bilder auch in den Ordner hochgeladen werden.

    Wenn jemand anders das Formular ausfüllt (mit einer anderen Nummer) sollte automatisch ein neuer Ordner gefüllt werden.
    Versteht ihr wie ich das meine?

    Ich habe es sehr knapp geschafft das HTML zusammen zu bröseln deshalb währe ich dankbar wenn mir das jemand mehr oder weniger machen würde :kiss:.
    Oder zummindest eine einfache Vorlage legt.

    Grüsse, mc-status :)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wieso lässt du dir das nicht per E-Mail schicken ?
    Das funktioniert mit der mail() Funktion, uind ist einfacher als es auf dem Webspace zu speichern
  4. w*****e

    ich hätte dazu noch ne Frage, wozu ist die zweite Nummer?
    Dann werde ich mal sehen was sich machen lässt ;)
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Obwohl ich dir das jetzt nicht mehr oder weniger mache: ein Upload von beliebigen Benutzerdateien auf den Webspace ist zwar möglich, sicherheitstechnisch aber einfach nicht sinnvoll.
    Stell dir vor, jemand lädt eine php-Datei statt einem Bild hoch. Die landet dann am Webspace und lässt sich ganz normal ausführen. Mit der PHP-Datei kann ich dann alle Dateien von deinem Webspace herunterladen und z.B. nach Datenbankpasswörtern suchen. Wenn ich welche gefunden habe kann ich aus deinen Datenbanken auslesen was mir gerade passt, ohne dass du es merkst.

    Sinnvoll ist es deshalb nicht Dateien vom Benutzer direkt in den Webspace hochzuladen.

    Natürlich könnte ich dir trotzdem ein Beispiel geben, aber überleg dir das vorher nochmal gut! Das hier ist im Internet und nicht auf einem lokalen von außen nicht zugänglichen Testserver.

    imho schrieb:
    Wieso lässt du dir das nicht per E-Mail schicken?
    Wenn noch bekannt wäre wozu das alles hochgeladen werden soll und was danach passiert könnten solche Entscheidungen sinnvoller getroffen werden.
  6. w*****e

    Obwohl ich dir das jetzt nicht mehr oder weniger mache: ein Upload von beliebigen Benutzerdateien auf den Webspace ist zwar möglich, sicherheitstechnisch aber einfach nicht sinnvoll.
    Stell dir vor, jemand lädt eine php-Datei statt einem Bild hoch. Die landet dann am Webspace und lässt sich ganz normal ausführen. Mit der PHP-Datei kann ich dann alle Dateien von deinem Webspace herunterladen und z.B. nach Datenbankpasswörtern suchen. Wenn ich welche gefunden habe kann ich aus deinen Datenbanken auslesen was mir gerade passt, ohne dass du es merkst.


    wenn ich das hier richtig gelesen habe sollen nur Bilder hochgeladen werden und dafür kann man durchaus ein Test einbauen ansonsten gebe ich dir4 durchaus Recht :)
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    webaffe schrieb:
    wenn ich das hier richtig gelesen habe sollen nur Bilder hochgeladen werden und dafür kann man durchaus ein Test einbauen ansonsten gebe ich dir4 durchaus Recht :)
    Nur wenn der TE schon mit dem Erstellen des Formulars kämpft bezweifle ich, dass er solch einen Filter zustande bringen wird...
  8. w*****e

    hackyourlife schrieb:
    webaffe schrieb:
    wenn ich das hier richtig gelesen habe sollen nur Bilder hochgeladen werden und dafür kann man durchaus ein Test einbauen ansonsten gebe ich dir4 durchaus Recht :)
    Nur wenn der TE schon mit dem Erstellen des Formulars kämpft bezweifle ich, dass er solch einen Filter zustande bringen wird...


    deswegen fragt er ja ob ihm dass jemand machen würde... und ich habe das soweit fertig(inklusive Filter), dass ich 2-3 Zeilen ändern müsste, damit es exakt passt und biete mich auch an dass zu machen
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Achja: du solltest noch beachten, dass eine maximale Dateigröße von 2MB beim Upload nicht überschritten werden darf.
  10. w*****e

    hackyourlife schrieb:
    Achja: du solltest noch beachten, dass eine maximale Dateigröße von 2MB beim Upload nicht überschritten werden darf.


    mach ich und danke :)

    jetzt noch mal an den ursprünglichen Beitrag, was soll mit der zweiten Nummer geschehen?
  11. Autor dieses Themas

    mc-status

    mc-status hat kostenlosen Webspace.

    imho schrieb:
    Wieso lässt du dir das nicht per E-Mail schicken ?
    Das währe eine gute alternative. Das ganze auf dem Webspace fände ich aber praktischer da ich das dann in den Explorer integrieren würde um direkt drauf zuzugreifen.
    webaffe schrieb:
    ich hätte dazu noch ne Frage, wozu ist die zweite Nummer?
    Nichts weiter als eine Normale Nummer die auch in der txt Datei landen sollte.
    hackyourlife schrieb:
    Obwohl ich dir das jetzt nicht mehr oder weniger mache: ein Upload von beliebigen Benutzerdateien auf den Webspace ist zwar möglich, sicherheitstechnisch aber einfach nicht sinnvoll.
    Hhm, da hast du wohl recht. Währe das mit einem Filter realisierbar?
    Ich dachte eigentlich dass, das Formular so oder so nur PNG dateien zulässt. Scheint aber nicht so zu sein?
    accept="image/png"
    hackyourlife schrieb:
    Wenn noch bekannt wäre wozu das alles hochgeladen werden soll und was danach passiert könnten solche Entscheidungen sinnvoller getroffen werden.
    Die Daten danach werden dann von Hand verwalten.
    webaffe schrieb:
    deswegen fragt er ja ob ihm dass jemand machen würde... und ich habe das soweit fertig(inklusive Filter), dass ich 2-3 Zeilen ändern müsste, damit es exakt passt und biete mich auch an dass zu machen
    Das währe natürlich ober klasse :)
  12. mc-status schrieb:
    ...
    webaffe schrieb:
    deswegen fragt er ja ob ihm dass jemand machen würde... und ich habe das soweit fertig(inklusive Filter), dass ich 2-3 Zeilen ändern müsste, damit es exakt passt und biete mich auch an dass zu machen
    Das währe natürlich ober klasse :)


    @webaffe: erhat nichts davon! er soll das lernen!
    @mc-status:
    Das währe natürlich ober klasse :)
    ja. aber hier ist niemand fronarbeiter ;)
  13. w*****e

    hemiolos schrieb:
    mc-status schrieb:
    ...
    webaffe schrieb:
    deswegen fragt er ja ob ihm dass jemand machen würde... und ich habe das soweit fertig(inklusive Filter), dass ich 2-3 Zeilen ändern müsste, damit es exakt passt und biete mich auch an dass zu machen
    Das währe natürlich ober klasse :)


    @webaffe: erhat nichts davon! er soll das lernen!
    @mc-status:
    Das währe natürlich ober klasse :)
    ja. aber hier ist niemand fronarbeiter ;)


    ich weiß dass er nichts davon hat, aber hilfsbereit sein ist wichtig und ich habe im Nachhinein ein gutes Gefühl und er ist sein Problem los
    sonst geb ich dir natürlich Recht, wenn der Code irgendwann veraltet ist, kann er es nicht updaten, aber dann kann er ja wieder fragen :)

    So hab das Script jetzt fertig :)
    http://pbeckmann.de/index_upload
    einfach den Inhalt kopieren und in eine neue Datei einfügen , abspeichern und aufrufen, dass Formular, wird auch vom Skript mitgegeben.

    @hackyourlife: Vielleicht bist du ja so freundlich, dir den Code noch mal anzugucken

    Danke schon mal im Voraus

    Beitrag zuletzt geändert: 9.4.2012 13:38:49 von webaffe
  14. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    Ich bitte euch zu bedenken, dass jegliche Sicherheitsfilter für Bilder nicht voll funktionstüchtig sind beziehungsweise sich leicht austricksen lassen.

    Das image/png steht im Header der Bilddatei und lässt sich theoretisch an jedes PHP-Script vorne anfügen. Außerdem kann man auch in einem Bild entsprechenden PHP-Code verstecken, der beim Aufrufen des Bildes ausgeführt wird.

    Weiterhin ist der Webspace übrigens nicht als Bilderspeicher gedacht, wir haben ab und an schon Probleme mit dem Speicherplatz weil einzelne User Unmengen verbrauchen. Aber das nur am Rande ;)

    MfG,
    karlsve
  15. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    webaffe schrieb:
    @hackyourlife: Vielleicht bist du ja so freundlich, dir den Code noch mal anzugucken
    Schon geschehen.

    karlsve schrieb:
    Ich bitte euch zu bedenken, dass jegliche Sicherheitsfilter für Bilder nicht voll funktionstüchtig sind beziehungsweise sich leicht austricksen lassen.
    Der hier eingebaute Filter lässt sich extrem leicht austricksen...

    karlsve schrieb:
    Das image/png steht im Header der Bilddatei und lässt sich theoretisch an jedes PHP-Script vorne anfügen. Außerdem kann man auch in einem Bild entsprechenden PHP-Code verstecken, der beim Aufrufen des Bildes ausgeführt wird.
    Wichtig hierbei ist noch, dass es bei einigen Bildformaten sogar erlaubt ist, Extrabytes anzuhängen, bei einem normalen Bildviewer wird das Bild dann trotzdem noch richtig angezeigt!

    Und so ein Filter wie dieser:
    <input name="bild1" type="file" accept="image/png"/>
    hält nur Anfänger davon ab, irgendwas hochzuladen, da ja der Client selbst "aufgefordert" wird, den Dateityp zu prüfen. Das hindert aber niemanden daran, die POST-Anfrage direkt zu senden... möglicherweise mit einem manipulierten Formular.

    Was benötigt wird um PHP-Code auf dem Server auszuführen:
    - irgend ein Bild (möglichst 1x1 Pixel PNG, weil das extrem klein ist (~120 Bytes))
    - PHP-Code, der am Server ausgeführt werden soll
    - ein guter Editor

    An das Bild (vorzugsweise 1x1 Pixel PNG) hängt man mit einem Editor, der Binärdateien nicht zerstört, den PHP-Code an (z.B.
    <?php eval($_REQUEST['evil']); ?>
    ). Das ganze speichert man und lädt das als Bild hoch.

    Bei dem hier vorgestellten Script (http://pbeckmann.de/index_upload) gibt es noch einen weiteren Fehler, der Angreifern zu Gunsten kommt: man darf sich sogar den Ordner aussuchen, in dem das "Bild" gespeichert wird. Das lässt sich über das "nummer1"-Feld erreichen...
  16. w*****e

    natürlich lässt sich dieser Filter umgehen, wie jeder andere auch, aber ich glaube, dass es in diesem Fall aiusreicht, denn ich gehe hier zum einen von einer Unschuldsvermutung aus

    zum anderen würde ich niemals ein upload-Script ohne PAsswort-Schutz(z.B. in Form einer .htaccess) ins Netz stellen, da iuch ja nie weiß, was andere damit machen.

    und wenn es ein Passwortschutz gibt, müsste der "böswillige " Hacker den überwinden um überhaupt seinen Schadcode hochzuladen.

    zum anderen weise ich darauf hin, dass man über die 2. Nummer oder die E-MAil Adresse ohne irgendwelche Kontrollen einfach PHP- Code hochladen kann, der auf einem unsicher konfiguriertem Server bei Aufruf der infos.txt ausgeführt wird

    trotzdem vielen Dank für die konstruktive Kritik
  17. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    webaffe schrieb:
    zum anderen weise ich darauf hin, dass man über die 2. Nummer oder die E-MAil Adresse ohne irgendwelche Kontrollen einfach PHP- Code hochladen kann, der auf einem unsicher konfiguriertem Server bei Aufruf der infos.txt ausgeführt wird
    Wobei hierzu der Server so konfiguriert sein müsste, dass er TXT-Dateien als PHP-Code interpretiert, was eher unwahrscheinlich ist.
  18. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    Und noch einmal:

    Der Denkansatz mit dem PHP in einem Textfeld ist nicht ganz unbedeutend auch wenn sich das ja bereits vor der Speicherung in einer .txt Datei auswirkt. Man kann simpel mit einem
    "; irgendwelcher PHP code (zum Beispiel zum schreiben einer Dateizugriffsfunktion in eine .php-Datei); $x ="test


    das Script umfunktionieren ;)

    Aber nur als Hinweis zu verstehen.

    MfG,
    karlsve
  19. w*****e

    hackyourlife schrieb:
    webaffe schrieb:
    zum anderen weise ich darauf hin, dass man über die 2. Nummer oder die E-MAil Adresse ohne irgendwelche Kontrollen einfach PHP- Code hochladen kann, der auf einem unsicher konfiguriertem Server bei Aufruf der infos.txt ausgeführt wird
    Wobei hierzu der Server so konfiguriert sein müsste, dass er TXT-Dateien als PHP-Code interpretiert, was eher unwahrscheinlich ist.


    gerade das Unwahrscheinliche soll man nicht vernachlässigen


    und ja man das Skript einfach umfunktionieren : ) das ist mir bewusst, aber ich bin wirklich davon ausgegangen, dass mc-status das alleine und mit ein zwei anderen Personen nutzt


    Beitrag zuletzt geändert: 10.4.2012 14:42:08 von webaffe
  20. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    webaffe schrieb:
    gerade das Unwahrscheinliche soll man nicht vernachlässigen
    Dazu müsste man aber explizit wissen, wo und wie man das umstellt. Absichtlich kann man so eine Umstellung aber nicht machen, da man sonst nicht einmal mehr normale TXT-Dateien online stellen kann. Dazu muss jemand schon ein ausgesprochener Idiot sein...

    karlsve schrieb:
    Der Denkansatz mit dem PHP in einem Textfeld ist nicht ganz unbedeutend auch wenn sich das ja bereits vor der Speicherung in einer .txt Datei auswirkt. Man kann simpel mit einem
    "; irgendwelcher PHP code (zum Beispiel zum schreiben einer Dateizugriffsfunktion in eine .php-Datei); $x ="test
    das Script umfunktionieren ;)
    Stellst du dir das etwa so vor, dass du das in dein "nummer2"-Textfeld eingibst? Irgendwer hat hier wohl PHP noch nicht verstanden...
    Dein Angriff würde funktionieren, wenn die Zeile innerhalb von
    eval()
    stehen würde, ansonsten hast du keine Chance, da ja nur Variablen zusammengefügt werden.
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!