Autor |
Beitrag |
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mo 22.08.11 15:42
Zeile 4: Runde Klammer fehlt
Zeile 8: Geschweifte Klammer zu viel
Zeile 25: Geschweifte Klammer fehlt...
Schau dir bitte nochmal selbst deinen Code im Detail an.
Eine vernünftige Entwicklungsumgebung zeigt dir so etwas übrigens gleich an
Btw:
Warum ersetzt du die Umlaute?
Was ist mit der XSS Schwachstelle, die schon angesprochen wurde?
PS: Was mir gerade auffällt:
Du willst am Ende des PHP Scripts eine E-Mail ohne Body an jemanden schicken. Ging es in diesem Thread nicht darum, ein Bild per E-Mail zu verschicken? Also, ich sehe da keinen Ansatz, wie das Bild in die E-Mail kommen soll.
Schau dir doch aml in der PHP Doku den Abschnitt über mail() an. Wenn ich mich richtig erinnere gabs da ein nettes Beispiel.
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Mo 22.08.11 18:21
Ohhh ja danke für die Hinweise
Aber irrgendwas fehlt immer noch:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| <php? if(isset($_FILES['upload'])) { $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp'); $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']); } $text=$_FILES['datei']['name']; // Umlaute entfernen $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/"); $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss"); $text_neu = preg_replace($umlaute, $replace, $text);
// Dateiname wird erstellt $text = $text_neu; $datname=time(); $datname.=$text;
if($_FILES['datei']['size'] < 4096000) { { if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) { echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";
}
else { echo "Das Bild darf nicht größer als 4 MB sein "; }
?> |
mfg storestore
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mo 22.08.11 20:53
Willkommen bei der Schnitzeljagd. Heute: Finde die Fehler
storestore hat folgendes geschrieben : | Ohhh ja danke für die Hinweise
Aber irrgendwas fehlt immer noch:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| <php? if(isset($_FILES['upload'])) { $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp'); $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']); } $text=$_FILES['datei']['name']; // Umlaute entfernen $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/"); $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss"); $text_neu = preg_replace($umlaute, $replace, $text);
// Dateiname wird erstellt $text = $text_neu; $datname=time(); $datname.=$text;
if($_FILES['datei']['size'] < 4096000) { { if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) { echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";
}
else { echo "Das Bild darf nicht größer als 4 MB sein "; }
// kein mail() mehr?? ?> |
mfg storestore |
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: storestore
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 22.08.11 20:58
Hol Dir von Waterproof PHPEdit. Das hilft ungemein. Für Privat ist die Lizenz kostenlos; man muss nur mal sich 5 Minuten hinsetzen und den Herren ne nette Anfrage schicken.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Mo 22.08.11 23:36
Ok, hab mir als erstes mal eine Demo gedownloaded
Danke für den Tipp.
Hättest du vlt. ein paar kontakt links voran ich schreiben könnte? Hab gerade nix gefunden
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Di 23.08.11 15:06
Horschdware hat folgendes geschrieben : | Willkommen bei der Schnitzeljagd. Heute: Finde die Fehler
storestore hat folgendes geschrieben : | Ohhh ja danke für die Hinweise
Aber irrgendwas fehlt immer noch:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| <php? if(isset($_FILES['upload'])) { $allowed_exts = array('jpg','jpeg', 'png', 'gif', 'bmp'); $ext = substr($_FILES['upload']['name']), strrpos('.', $_FILES['upload']['name']); } $text=$_FILES['datei']['name']; // Umlaute entfernen $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/"); $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss"); $text_neu = preg_replace($umlaute, $replace, $text);
Sollen die Orangen jetzt falsch seien? Was ist an "<php?" falsch ??? // Dateiname wird erstellt $text = $text_neu; $datname=time(); $datname.=$text;
if($_FILES['datei']['size'] < 4096000) { { if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) { echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";
}
else { echo "Das Bild darf nicht größer als 4 MB sein "; }
// kein mail() mehr?? ?> |
mfg storestore |
|
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Di 23.08.11 15:20
oO
Fullquote ohne Änderungen und ohne eigenen Beitrag? Aha, was willst du uns damit sagen?
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Di 23.08.11 15:24
Horschdware hat folgendes geschrieben : | oO
Fullquote ohne Änderungen und ohne eigenen Beitrag? Aha, was willst du uns damit sagen? |
Da sollte eig. was darunter stehen aber egal. Sind die Orangenen die Fehler. Was ist an <php? der Fehler
|
|
Dude566
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Di 23.08.11 15:25
Der Fehler ist, das du dich immer noch nicht mit den Grundlagen von PHP auseinander gesetzt hast und deshalb keine Ahnung hast was der Code im einzelnen macht.
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Für diesen Beitrag haben gedankt: storestore
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Di 23.08.11 15:28
Ich möchte mal ganz fix einen Vergleich zu einem Hühnchen aufstellen, das vor Kurzem gerupft wurde.
Oder besser gesagt: Bitte erst Grundlagen lernen + verstehen. Das erspart dir und den Forenteilnehmern viel Stress und graue Haare
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Di 23.08.11 15:30
Dude566 hat folgendes geschrieben : | Der Fehler ist, das du dich immer noch nicht mit den Grundlagen von PHP auseinander gesetzt hast und deshalb keine Ahnung hast was der Code im einzelnen macht. |
Ähh also:
Er checkt ob es ein Bild ist und welches format es hat. Dan checkt er die größe und speichert die Bilder in einem Ordner.
Aber was sind den jetzt konrett die Fehler
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Di 23.08.11 15:32
Schau dir die markierten Stellen an und denke gründlich darüber nach.
Dann denke über die Bedeutung der Worte "Syntax" und "Semantik" nach.
Dann schreibe deinen nächsten Beitrag.
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Di 23.08.11 15:36
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| <form method="post" action="file_upload.php" enctype="multipart/form-data"> <input type="file" name="datei"> <input type="submit" name="submit" value="Hochladen"> </form> <?php if(isset($_POST['submit'])) { $dateityp = GetImageSize($_FILES['datei']['tmp_name']); if($dateityp[2] != 0) { $text=$_FILES['datei']['name']; // Umlaute entfernen $umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/"); $replace = Array("ae","oe","ue","Ae","Oe","Ue","ss"); $text_neu = preg_replace($umlaute, $replace, $text);
// Dateiname wird erstellt $text = $text_neu; $datname=time(); $datname.=$text;
if($_FILES['datei']['size'] < 4096000) { if ( move_uploaded_file($_FILES['datei']['tmp_name'], "bilder/".$datname) ) { echo "Das Bild wurde Erfolgreich nach bilder/$datname hochgeladen";
}
else { echo "Das Bild darf nicht größer als 4 MB sein "; }
}
else { echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen"; }
} } ?> |
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Mi 24.08.11 11:31
Und ist dieser Code jetzt richtig (*push hoch *)
_________________ Der Pc ist nur so schlau, wie derjenige der in steuert!
"Don't Quit. Suffer now, and live the rest of your life as a champion"
Zuletzt bearbeitet von storestore am Mi 24.08.11 11:33, insgesamt 1-mal bearbeitet
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 24.08.11 11:32
storestore hat folgendes geschrieben : | Und ist dieser Code jetzt richtig |
Nein. Die Sicherheitslücken sind immer noch drinnen ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Mi 24.08.11 11:34
BenBE hat folgendes geschrieben : | storestore hat folgendes geschrieben : | Und ist dieser Code jetzt richtig |
Nein. Die Sicherheitslücken sind immer noch drinnen ... |
Ok, und welche sicherheitslücken genau, also wie die heißen oder was die machen. Und wie kann man die beheben?
Aber jetzt mal von den Sicherheitslücken weggesehen ist der code doch richtig, oder?
mfg storestore
_________________ Der Pc ist nur so schlau, wie derjenige der in steuert!
"Don't Quit. Suffer now, and live the rest of your life as a champion"
|
|
Horschdware
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Mi 24.08.11 11:43
Wurde auf Seite 2 dieses Threads erläutert: Du greifst ungeprüft auf die vom User übermittelten Eingaben zu. Dort kann Schadcode eingeschleust werden.
_________________ Delphi: XE - OS: Windows 7 Professional x64
Für diesen Beitrag haben gedankt: storestore
|
|
storestore
Beiträge: 397
Erhaltene Danke: 7
WIN 7
C#
|
Verfasst: Mi 24.08.11 11:49
Horschdware hat folgendes geschrieben : | Wurde auf Seite 2 dieses Threads erläutert: Du greifst ungeprüft auf die vom User übermittelten Eingaben zu. Dort kann Schadcode eingeschleust werden. |
OK, also sprich du meinst konkretter weisse die Parameter.
Ist der code jetzt eig. richtig.
In dreamweaver hat er gesagt kein Syntaxfehler aber auf meiner www.bplaced.net Seite zeigt er mir an ;'; unexpectet in Zeile 7.
Wegen den Sicherheitslücken, wäre ich für jede Information dankbar
_________________ Der Pc ist nur so schlau, wie derjenige der in steuert!
"Don't Quit. Suffer now, and live the rest of your life as a champion"
|
|
Dude566
Beiträge: 1592
Erhaltene Danke: 79
W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
|
Verfasst: Mi 24.08.11 12:44
_________________ Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Für diesen Beitrag haben gedankt: storestore
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 24.08.11 12:45
Siehe XSS und CSRF.
Das weitere, was ich noch sehe, ist ne Lücke, mit der sich PHP-Code in den Dateiuploads an deinen Prüfungen vorbei einschleusen lässt. Zu dessen Ausführung benötigt es jedoch noch eine RFI für die Ausnutzung (die sehe ich zwar in diesem Code nicht, die kann aber in anderem Code versteckt liegen).
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Für diesen Beitrag haben gedankt: storestore
|
|
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.
Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.
|
|