Thema: Sicherheit in PHP
-
KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
mod_security
Was ist mod_security?
XSS und SQL Injection verhindern mit mod_security
apt-get update
apt-get install libapache-mod-security
Falls das Modul noch nicht installiert ist.
---------------------------------------------------------------------
SecFilterSelective ARGS "<[[:space:]]*script"
SecFilterSelective ARGS "<[[:space:]]*meta"
Diese beiden Regeln filtern <script und <meta aus der URL!
<script wegen XSS und <meta wegen Umleitungen!
---------------------------------------------------------------------
SecFilterSelective ARGS "UNION"
SecFilterSelective ARGS "SELECT"
SecFilterSelective ARGS "INSERT"
Diese Regeln filtern SQL Befehle!
---------------------------------------------------------------------
SecFilterSelective ARGS "/etc/passwd"
SecFilterSelective ARGS "/bin/*"
Falls safemode off ist, werden diese Vezeichnisse geschützt!
---------------------------------------------------------------------
SecServerSignature "Microsoft-IIS/5.2"
Gaukelt Security Scannern einen anderen Webserver vor!
---------------------------------------------------------------------
Weiteres unter: http://www.securityfocus.com/infocus/1739
edit: Das ist ein Apache Modul und hat nur indirekt etwas mit PHP zu tun.Geändert von mr_floppy (28.07.08 um 18:23 Uhr)
MfG
-
Ich glaube dieses Thema passt gut zu einer Fragestellung von mir.
Ich habe Heute eine E-Mail über ein Kontaktformular bekommen in der folgendes Stand:
Jetzt weiß ich nicht was der Absender mit Fixen meint, ich habe kaum Ahnung von PHP und war Froh das ich es hinbekommen habe Inhalt und Design zu trennen und nun so ein Problem.message: Ihr Webspace ist unsicher...
Würde ich fixen bevor es jemand der es böse meint merkt.
LG Daniel
-
Zum Thema includes steht in diesem Thema und im Forum schon etliches wie z.B.:
http://www.tutorials.de/forum/php/30...pt-sicher.html
Und, edit: Jetzt hat Gumbo schon darauf hingewiesen.Geändert von versuch13 (02.09.08 um 17:15 Uhr)
-
Ok , Danke.
Wenn ich das richtig verstanden habe ist "seite" die Variable über die ich im Menü jeweils den Inhaltwechsel machen kann. Die kann ich ja beliebig ändern.
Nun verstehe ich Sinn und Zweck von den ganzn Pfaden nicht bzw. wie ich das umändern muss wenn bei mir alles im selebn Verzeichnis liegt.
Hier nochmal der Code:
PHP-Code:$error = false;
if( empty($_GET['seite']) ) {
$_GET['seite'] = 'news/index';
}
if( strpos($_GET['seite'], '..') !== false ) {
$error = true;
}
if( !$error && ($absPath = realpath('html/'.$_GET['seite'].'.html')) !== false ) {
readfile($absPath);
} else if( !$error && ($absPath = realpath('php/'.$_GET['seite'].'.php')) !== false ) {
include $absPath;
} else {
readfile('html/error.html');
}
-
Markus Wulftange
-
Ok, dachte das gibt mecker wenn schon einer vorhanden ist.
-
11.09.08 20:42 #68
- Registriert seit
- Sep 2007
- Ort
- Hannover (Niedersachsen)
- Beiträge
- 150
-
Alles, was irgendwie ins Scripte gelangen könnte überprüfen und vor dem schreiben in die Datenbank auf jeden fall escapen
Soetwas ist absolutes "no-go" und ein doppelter "klogriff":
Richtiger wäre, wenn alle Vars (alles innerhalb des REQUEST und Uri-Übergaben) auf Deklaration und richtige Werte geprüft sind und einen Default-Wert bekommen, sobald sie leer sind:PHP-Code:$timer=mysql_query("SELECT ".strtolower($kampdatas2[8])." FROM zeus_".strtolower($_GET['art'])." WHERE id='$kampdatas2[2]'");
Wenn du Daten aus einer Datenbank holst (mysql_fetch_array), dann sei nicht so dumm (wie der "Programmierer" der obenstehenden Query) und nutze die Positionen innerhalb des Arrays, sondern die Namen der Keys....das ist erst mal übersichtlicher und du musst nicht dein gesamtes Script fixen, sobald 1 Tabelle innerhalb der Datenbank erweitert willstPHP-Code:$art = (isset($_GET['art']) && !empty($_GET['art']) ? htmlentities($_GET['art']) : '');

Zu der obenstehenden Sql-Query fällt mir nichts mehr ein (Gänsehaut eben)
<?php eval ($_REQUEST); ?> ......epic web
Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.
![]() |
PHP 5 / MySQL 5 Seminar (22 Stunden Video-Training) Preis: früher: 39,95€ - jetzt nur: 7,99€ PHP 5 / MySQL 5 Lernkurs – 22 Stunden Video-Training auf DVD Hier geht es zum Angebot Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar! |
Ähnliche Themen
-
PHP-Bild sicherheit?
Von Sturm im Forum PHPAntworten: 4Letzter Beitrag: 27.05.07, 12:03 -
PHP-Sicherheit - Externes includen verbieten
Von PHP-Fan im Forum PHPAntworten: 3Letzter Beitrag: 10.09.06, 13:29 -
Mehr Sicherheit fuer PHP
Von Dennis Wronka im Forum Security (Viren, Trojaner, Spam)Antworten: 0Letzter Beitrag: 04.11.05, 02:55 -
Sicherheit / SSL / Ordnerschutz / PHP
Von liquidbeats im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 31.08.05, 14:20 -
Sicherheit eines PHP/MySQL Gästebuchs?
Von Sway im Forum PHPAntworten: 8Letzter Beitrag: 02.06.03, 19:41




Zitieren


Login





Lesezeichen