Zurück tutorials.de > Programming > PHP

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 29.04.07, 18:15   #31 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: Sicherheit in PHP

Da es sich eindeutig um eine Zahl handelt (bzw. handeln soll) kannst du statt:

PHP-Code:
htmlspecialchars(mysql_real_escape_string($get)) 
auch

PHP-Code:
intval($get
benutzen.

Sollten HTML Zeichen drin sein, würde ja deine erste Prüfung bereits false melden, da es dann kein numerischer String mehr ist.
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 29.04.07, 18:17   #32 (permalink)
KD3
 
Registriert seit: Apr 2007
Beiträge: 454
Renommee-Modifikator: 7
KD3 befindet sich auf einem aufstrebenden Ast

AW: Sicherheit in PHP

Zitat:
Zitat von Felix Jacobi Beitrag anzeigen
Da es sich eindeutig um eine Zahl handelt (bzw. handeln soll) kannst du statt:

PHP-Code:
htmlspecialchars(mysql_real_escape_string($get)) 
auch

PHP-Code:
intval($get
benutzen.

Sollten HTML Zeichen drin sein, würde ja deine erste Prüfung bereits false melden, da es dann kein numerischer String mehr ist.
hmm ok danke, aber auch wenn es ../../../etc/passwd als getvariable eingegeben wäre?
  KD3 ist offline  
 
Alt 29.04.07, 18:24   #33 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: Sicherheit in PHP

Wenn dieser Inhalt bei deinem Script reingeht, meldet er einen Fehler, da es kein numerische r String ist.

Selbst wenn er durchkommen würde, würde intval() daraus eine 0 machen.

Wenn es jetzt um andere Variablen geht (z. B. einen include) würde ich diese auch nur in einem Switch() benutzen. So kannst du vorgegebene Fälle eintragen, alle anderen werden auf default weitergeleitetet.

Ansonsten sollte der PHP Safe Mode bei solchen Pfäden eingreifen und eben genau soetwas verhindern.
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 29.04.07, 18:30   #34 (permalink)
KD3
 
Registriert seit: Apr 2007
Beiträge: 454
Renommee-Modifikator: 7
KD3 befindet sich auf einem aufstrebenden Ast

AW: Sicherheit in PHP

ok danke nochmal für die Antworten Flex Jacobi
  KD3 ist offline  
 
Alt 29.09.07, 13:16   #35 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: Sicherheit in PHP

Um den Thread mal wieder ein wenig zu beleben:

addslashes versus mysql_real_escape_string
Chris Shiflett über die Probleme addslashes() als Abwehr für MySQL Injektionen (auch wenn das Szenario etwas beschränkt ist)

Und ein kurzer Blogeintrag über ein MemoryLeak in PHP

Memory Leaks With Objects in PHP 5
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 30.09.07, 16:45   #36 (permalink)
Mitglied Brokat
 
Registriert seit: Oct 2002
Beiträge: 262
Renommee-Modifikator: 17
bloddy newbie hat eine blütenweiße Weste

AW: Sicherheit in PHP

Danke für den Beitrag bzgl. des Memory Leaks - sehr interessant.
  bloddy newbie ist offline  
 
Alt 09.10.07, 13:15   #37 (permalink)
Mitglied Bronze
 
Registriert seit: Jul 2005
Beiträge: 36
Renommee-Modifikator: 10
nickiquickie hat eine blütenweiße Weste

AW: Sicherheit in PHP

Hallo,

ich habe mal eine Frage:
Und zwar verwende ich vor dem Einfuegen einer Variable in die Query einer DB-Abfrage die Funktion strip_tags()
PHP-Code:
$var strip_tags($_GET['var']); 
Ist das ein ausreichender Schutz vor SQL-Injections?
Oder ist es viel besser eine solche Funktion (siehe unten), wie vorher in diesem Thread schon erwähnt, zu nutzen:
PHP-Code:
// Variablen absichern
function quote_smart($value)
{
   
// Ueberfluessige Maskierungen entfernen
   
if (get_magic_quotes_gpc()) {
       
$value stripslashes($value);
   }
   
// In Anfuehrungszeichen setzen, sofern keine Zahl
   // oder ein numerischer String vorliegt
   
if (!is_numeric($value)) {
       
$value "'" mysql_real_escape_string($value) . "'";
   }
   return 
$value;

Wahrscheinlich ist es schon besser diese Funktion zu nutzen.
Oder reicht eigentlich die strip_tags()-Funktion aus um einen vernuenftigen Schutz zu schaffen?
Danke schonmal!
  nickiquickie ist offline  
 
Alt 09.10.07, 14:26   #38 (permalink)
mod | reptiler
 
Benutzerbild von Dennis Wronka tutorials.de Moderator 
 
Registriert seit: Apr 2002
Ort: Hong Kong
Beiträge: 12.415
Renommee-Modifikator: 78
Dennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes AnsehenDennis Wronka genießt hohes Ansehen

AW: Sicherheit in PHP

strip_tags() bietet keinerlei Schutz vor SQL-Injections. Vor XSS (Cross-Site-Scripting) schon eher, aber nicht vor SQL-Injections. Dafuer gibt es Funktionen wie z.B. mysql_real_escape_string().
__________________
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
Zitat:
Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
__________________
Zitat:
Zitat von Friedrich Nietzsche
Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.
  Dennis Wronka ist offline  
 
Alt 09.10.07, 14:33   #39 (permalink)
Mitglied Bronze
 
Registriert seit: Jul 2005
Beiträge: 36
Renommee-Modifikator: 10
nickiquickie hat eine blütenweiße Weste

AW: Sicherheit in PHP

Zitat:
Zitat von Dennis Wronka Beitrag anzeigen
strip_tags() bietet keinerlei Schutz vor SQL-Injections. Vor XSS (Cross-Site-Scripting) schon eher, aber nicht vor SQL-Injections. Dafuer gibt es Funktionen wie z.B. mysql_real_escape_string().
Oh oh...
Gut, dass ich nachgefragt habe. Werde dann mal die oben gepostete Funktion in meine Scripte einbauen.

Dieser Thread ist uebrigens eine super Sache!
  nickiquickie ist offline  
 
Alt 09.10.07, 18:53   #40 (permalink)
 
Benutzerbild von Gumbo tutorials.de Moderator 
 
Registriert seit: Dec 2002
Ort: Trier
Beiträge: 17.511
Renommee-Modifikator: 96
Gumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes AnsehenGumbo genießt hohes Ansehen

AW: Sicherheit in PHP

Ich möchte noch einmal darauf hinweisen, dass dieser Thread nicht für Fragen sondern für Antworten gedacht ist.
Zitat:
Zitat von Dennis Wronka Beitrag anzeigen
Wofuer ist dieser Thread nicht gedacht:
  • Fragen ob ein Script sicher ist
    Wir wollen hier eher allgemein zum Thema Sicherheit in PHP diskutieren und nicht auf spezielle Scripts eingehen. Natuerlich wollen wir hier auch Code-Beispiele sehen, aber eben nicht, dass jemand sein Script (oder einen Ausschnitt) postet und fragt ob der Code sicher ist.
__________________
Markus Wulftange
  Gumbo ist offline  
 
Alt 09.10.07, 20:13   #41 (permalink)
Mitglied Bronze
 
Registriert seit: Jul 2005
Beiträge: 36
Renommee-Modifikator: 10
nickiquickie hat eine blütenweiße Weste

AW: Sicherheit in PHP

Zitat:
Zitat von Gumbo Beitrag anzeigen
Ich möchte noch einmal darauf hinweisen, dass dieser Thread nicht für Fragen sondern für Antworten gedacht ist.
Ich denke aber, dass ohne Fragen auch keine Antworten gegeben werden können.
Schließlich soll der Thread ja helfen auf dem Gebiet der Sicherheit etwas dazu zu lernen. Ich habe ja auch nicht mein Script gepostet, sondern eine recht grundelegende Frage zu zwei Funktionen gestellt.
Aber das nächste Mal öffne ich auch gern einen eigenen Thread dafür.
  nickiquickie ist offline  
 
Alt 18.12.07, 08:15   #42 (permalink)
Mitglied Brilliant
 
Registriert seit: Feb 2005
Beiträge: 954
Renommee-Modifikator: 14
versuch13 hat eine blütenweiße Weste

AW: Sicherheit in PHP

Zwar nicht speziell auf PHP bezogen, dennoch vllt für den ein oder anderen interessant, heute bei http://entwickler-press.de/ ein kosenloses EBook mit dem Thema "Sicherere Webanwendungen" downloadbar.
__________________

  versuch13 ist offline  
 
Alt 02.01.08, 23:30   #43 (permalink)
Mitglied Silber
 
Registriert seit: Aug 2007
Beiträge: 74
Renommee-Modifikator: 6
S-lord hat eine blütenweiße Weste

AW: Sicherheit in PHP

http://koandagfx.de/index.php?action...20GUT%3C/h1%3E

Das ist meine Seite...
Und den Link hat ein User gepostet...
Wie hat er das gemacht?
Auzug aus der Datei...
PHP-Code:
if(mysql_num_rows($query))
{
    while(
$row mysql_fetch_assoc($query)) {
        echo 
"<div class='div_title' align='center'>" $row['header'] . "</div>";
        echo 
"<div class='div_content' align='center'>" $row['content'] . "<br /><br />geschrieben am: " $row['date'] . "</div>";
        }
} else {
    die (
"Keine Daten in der Tabelle.");

  S-lord ist offline  
 
Alt 02.01.08, 23:36   #44 (permalink)
do ut des
 
Benutzerbild von Felix Jacobi tutorials.de Moderator 
 
Registriert seit: Nov 2001
Ort: Wuppertal
Beiträge: 4.785
Renommee-Modifikator: 54
Felix Jacobi hat die Renommee-Anzeige deaktiviert

AW: Sicherheit in PHP

Die Sicherheitslücke liegt in dem Bereich, wo die $_GET Variable "action" verarbeitet wird. Diesen Auszug bräuchten wir.
__________________
Der neue Personalausweis kommt...

KIDS Kinderbetreuungsdienst
Xing

They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
  Felix Jacobi ist offline  
 
Alt 03.01.08, 00:02   #45 (permalink)
Mitglied Silber
 
Registriert seit: Aug 2007
Beiträge: 74
Renommee-Modifikator: 6
S-lord hat eine blütenweiße Weste

AW: Sicherheit in PHP

PHP-Code:
switch($_GET['action']){ 
PHP-Code:
default: require("inc/news.php"); break;

Mh stimmt sieht recht unsicher aus.
Aber was kann ich da machen?
Wenn ich mich recht entsinne gibts eine Funktion, komme aber nicht drauf.
  S-lord ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
PHP-Bild sicherheit? Sturm PHP 4 27.05.07 12:03
PHP-Sicherheit - Externes includen verbieten PHP-Fan PHP 3 10.09.06 13:29
Mehr Sicherheit fuer PHP Dennis Wronka Security (Viren, Trojaner, Spam) 0 04.11.05 02:55
Sicherheit / SSL / Ordnerschutz / PHP liquidbeats Hosting & Webserver 0 31.08.05 14:20
Sicherheit eines PHP/MySQL Gästebuchs? Sway PHP 8 02.06.03 19:41
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 134
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 261
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 149
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 100
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 190
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 79,79%
150 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 20,21%
38 Stimmen
Stimmen gesamt: 188
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,33625 Sekunden mit 26 queries