-
-
29.04.07 18:24 #32
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.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
ok
danke nochmal für die Antworten Flex Jacobi
-
29.09.07 13:16 #34
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 5KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Danke für den Beitrag bzgl. des Memory Leaks - sehr interessant.
Eine Lösung hätte ich schon, aber sie passt nicht zum Problem.
-
09.10.07 13:15 #36
- Registriert seit
- Jul 2005
- Beiträge
- 36
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()
Ist das ein ausreichender Schutz vor SQL-Injections?PHP-Code:$var = strip_tags($_GET['var']);
Oder ist es viel besser eine solche Funktion (siehe unten), wie vorher in diesem Thread schon erwähnt, zu nutzen:
Wahrscheinlich ist es schon besser diese Funktion 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;
}
Oder reicht eigentlich die strip_tags()-Funktion aus um einen vernuenftigen Schutz zu schaffen?
Danke schonmal!
-
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
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
09.10.07 14:33 #38
- Registriert seit
- Jul 2005
- Beiträge
- 36
-
Markus Wulftange
-
09.10.07 20:13 #40
- Registriert seit
- Jul 2005
- Beiträge
- 36
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.
-
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.
-
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.");
}
-
02.01.08 23:36 #43
Die Sicherheitslücke liegt in dem Bereich, wo die $_GET Variable "action" verarbeitet wird. Diesen Auszug bräuchten wir.
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
PHP-Code:
switch($_GET['action']){
Mh stimmt sieht recht unsicher aus.PHP-Code:default: require("inc/news.php"); break;
}

Aber was kann ich da machen?
Wenn ich mich recht entsinne gibts eine Funktion, komme aber nicht drauf.
-
03.01.08 16:26 #45
Das ist nicht wirklich der gesuchte Teil, denn ein nicht vorhandener Fall wird durch das default abgefangen.
Vielmehr müsste in irgendeiner Datei sowas stehen, wie:
echo $_GET['action'];, was dazu führt, dass die Requestvariable einfach ausgegeben wird. Besser ist da schon echo htmlentities($_GET['action']); (htmlentities(), htmlspecialchars()), aber auch recht unsauber, da der Nutzer immer noch Daten einbringen kann, die so nicht eingebunden werden sollten.
Kann es sein, dass die Überschrift der Sektion auch durch das entsprechende GET-Feld produziert wird? Ganz unsauber!
Alles so statisch wie möglich und so dynamisch wie nötig machen, dann sollten solche Unfeinheiten nicht mehr auftreten. Ein Beispiel könnte sein:
Modul einbinden
Ausgabe - RahmentemplatePHP-Code:<?php
switch ( $_GET['action'] ) {
case "news":
$title = "Neuigkeiten";
include "News.php";
break;
case "somewhat":
$title = "Was anderes";
// ...
default:
$title = "N/A";
include "Default.php";
break;
}
PHP-Code:<?php
echo $title;
// ...
Ähnliche Themen
-
Sicherheit? Wie und was?
Von BeaTBoxX im Forum PHPAntworten: 4Letzter Beitrag: 28.04.11, 13:28 -
Sicherheit?
Von hhunderter im Forum PHPAntworten: 2Letzter Beitrag: 10.01.09, 03:03 -
Sicherheit
Von NCortex im Forum PHPAntworten: 5Letzter Beitrag: 08.08.07, 12:32 -
Sicherheit?
Von Prophet05 im Forum PHPAntworten: 15Letzter Beitrag: 27.03.05, 01:10 -
sicherheit
Von polar im Forum PHPAntworten: 1Letzter Beitrag: 01.11.02, 02:29



13Danke


Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren