PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Kundenbereich: wie richtig schützen?
Beitrag
<blockquote data-quote="Robbyn-" data-source="post: 1688465" data-attributes="member: 63227"><p><strong>AW: Kundenbereich: wie richtig schützen?</strong></p><p></p><p>Alle wichtigen Eingaben der Benutzer sollten überprüft werden, Hacker sollten bei SQL-Injectionen und Cross Site Scripting auf Granit stoßen.</p><p></p><p>Remote Code Execution sollte auch nicht möglich sein. Als Beispiel wäre es problematisch, wenn Skripte externe Dateien über beispielsweise über require(), include(), fopen() etc. einbinden und der entsprechende Pfad von extern (z.B. bei register_globals=on) beeinflusst werden kann. Dann braucht ein Angreifer den Schadcode der zur Ausführung gelangen soll nicht auf den angegriffenen Server bringen, sondern kann ihn direkt aus dem Netz heraus einbinden.</p><p></p><p>Dann gibt es natürlich noch die Sicherheitslücken auf den Servern. Die PHP Konfiguration kann direkten Einfluß auf die verschiedensten Angriffsvarianten haben, schlecht konfigurierte Systeme ermöglichen darüberhinaus Angreifern oftmals sehr umfangreiche Möglichkeiten. Leider sind in der Grundinstallation viele "Sicherheits-Optionen" falsch gesetzt und werden vor dem produktiven Einsatz nicht kontrolliert.</p><p>Einige der wichtigsten Konfigurationseinstellungen im Überblick:</p><p></p><p> * register_globals (off seit PHP 4.2, optimale Einstellung: off)</p><p> * allow_url_fopen (on in der Grundeinstellung, optimale Einstellung: off)</p><p> * magic_quotes_gpc (on in der Grundeinstellung, optimale Einstellung: off - siehe auch magic_quotes_gpc und SQL-Injektion)</p><p> * magic_quotes_runtime (off in der Grundeinstellung, optimale Einstellung: off)</p><p> * safe_mode and open_basedir (nicht aktiv in der Grundeinstellung, kann - falls richtig konfiguriert - aktiviert helfen, Risiken zu minimieren.)</p><p></p><p></p><p>Dann gibt es leider noch den Angriff durch Dateisysteme. Da gibt es eine Reihe an Möglichkeiten durch Angriffe auf das Dateisystem Schaden anzurichten, insbesondere in Shared-Hosting-Umgebungen:</p><p></p><p> * Anzeige von Serverdaten (wie /etc/passwd, Konfigurationsdateien oder Logs)</p><p> * Angriffe auf Session-Daten (normalerweise in /tmp)</p><p> * Datei-Upload-Angriffe (z.b.bei unvalidiertem Avatar oder Dateiupload)</p><p></p><p>Da viele Provider darüberhinaus PHP mit dem Benutzerkonto "nobody" beim Apache gestartet haben, können Angriffe auf das Dateisystem oftmals den gesamten Server und nicht nur eine einzelne Präsenz betreffen.</p><p></p><p>Deswegen immer Benutzer eingaben sorgfälltig überprüfen. </p><p></p><p><strong>SQL-Injection:</strong></p><p></p><p>[PHP]</p><p>mysql_real_escape_string($variable)</p><p>[/PHP]</p><p></p><p>oder mithilfe von mysqli ... soweit es dir natürlich möglich ist ... kannst du mithilfe von Prepared Statements SQL Injectionen besser abfangen.</p><p></p><p><strong>Variablen immer überprüfen:</strong></p><p></p><p>[PHP]</p><p>$wert = trim(htmlspecialchars(str_replace(array("\r\n", "\r", "\0"), array("\n", "\n", ''), $wert), ENT_COMPAT, 'UTF-8'));</p><p>[/PHP]</p><p></p><p>wobei Wert deine Variable ist die du übergeben willst, bist du so immer auf der sicheren Seite.</p><p></p><p>Ich hoffe ich konnte dir damit weiterhelfen.</p><p></p><p>MfG.Robbyn</p></blockquote><p></p>
[QUOTE="Robbyn-, post: 1688465, member: 63227"] [b]AW: Kundenbereich: wie richtig schützen?[/b] Alle wichtigen Eingaben der Benutzer sollten überprüft werden, Hacker sollten bei SQL-Injectionen und Cross Site Scripting auf Granit stoßen. Remote Code Execution sollte auch nicht möglich sein. Als Beispiel wäre es problematisch, wenn Skripte externe Dateien über beispielsweise über require(), include(), fopen() etc. einbinden und der entsprechende Pfad von extern (z.B. bei register_globals=on) beeinflusst werden kann. Dann braucht ein Angreifer den Schadcode der zur Ausführung gelangen soll nicht auf den angegriffenen Server bringen, sondern kann ihn direkt aus dem Netz heraus einbinden. Dann gibt es natürlich noch die Sicherheitslücken auf den Servern. Die PHP Konfiguration kann direkten Einfluß auf die verschiedensten Angriffsvarianten haben, schlecht konfigurierte Systeme ermöglichen darüberhinaus Angreifern oftmals sehr umfangreiche Möglichkeiten. Leider sind in der Grundinstallation viele "Sicherheits-Optionen" falsch gesetzt und werden vor dem produktiven Einsatz nicht kontrolliert. Einige der wichtigsten Konfigurationseinstellungen im Überblick: * register_globals (off seit PHP 4.2, optimale Einstellung: off) * allow_url_fopen (on in der Grundeinstellung, optimale Einstellung: off) * magic_quotes_gpc (on in der Grundeinstellung, optimale Einstellung: off - siehe auch magic_quotes_gpc und SQL-Injektion) * magic_quotes_runtime (off in der Grundeinstellung, optimale Einstellung: off) * safe_mode and open_basedir (nicht aktiv in der Grundeinstellung, kann - falls richtig konfiguriert - aktiviert helfen, Risiken zu minimieren.) Dann gibt es leider noch den Angriff durch Dateisysteme. Da gibt es eine Reihe an Möglichkeiten durch Angriffe auf das Dateisystem Schaden anzurichten, insbesondere in Shared-Hosting-Umgebungen: * Anzeige von Serverdaten (wie /etc/passwd, Konfigurationsdateien oder Logs) * Angriffe auf Session-Daten (normalerweise in /tmp) * Datei-Upload-Angriffe (z.b.bei unvalidiertem Avatar oder Dateiupload) Da viele Provider darüberhinaus PHP mit dem Benutzerkonto "nobody" beim Apache gestartet haben, können Angriffe auf das Dateisystem oftmals den gesamten Server und nicht nur eine einzelne Präsenz betreffen. Deswegen immer Benutzer eingaben sorgfälltig überprüfen. [b]SQL-Injection:[/b] [PHP] mysql_real_escape_string($variable) [/PHP] oder mithilfe von mysqli ... soweit es dir natürlich möglich ist ... kannst du mithilfe von Prepared Statements SQL Injectionen besser abfangen. [b]Variablen immer überprüfen:[/b] [PHP] $wert = trim(htmlspecialchars(str_replace(array("\r\n", "\r", "\0"), array("\n", "\n", ''), $wert), ENT_COMPAT, 'UTF-8')); [/PHP] wobei Wert deine Variable ist die du übergeben willst, bist du so immer auf der sicheren Seite. Ich hoffe ich konnte dir damit weiterhelfen. MfG.Robbyn [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 7, ▼ = 3, ◇ = 2 und die Summe von ▲ und ▼ durch ◇ geteilt wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Kundenbereich: wie richtig schützen?
Oben