Clansuite Community Forum


 
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
 
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: CSRF + Backups  (Gelesen 2097 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
xsign.dll
Guide
***
Offline Offline

Beiträge: 155


« am: August 14, 2008, 06:01:27 »

Hi Jungs,

CSRF: http://de.wikipedia.org/wiki/Cross-Site_Request_Forgery

das Thema CSRF ist ein sehr wichtiges Thema, denn wir arbeiten derzeit mit HTTPRequest, welches alle eingehenden Variablen gesammelt an die Module übergibt.

Daraus resultieren simple Probleme:

1. eigentliche POST Daten können per GET injiziert werden
2. daraus resultiert der einfache CSRF, indem man z.B. einen Admin dazu bringt, auf einen Link zu klicken. Dieser mit GET Variablen manipulierte Link kann viel Schaden anrichten.

Eine Lösung des Problems hatten wir glaube ich schonmal, indem Formularfelder mit einem Token gesichert werden. Der Session Token dürfte ausreichen.

Dennoch muss man eventuell eine generalisiertere Lösung finden, um CSRF zu verhindern.
Unterschiedliche Sicherheitsstufen wären eventuell angebracht.


Desweiteren sollten wir definitiv eine auf PHP basierende Backup Funktion mit einbauen.
Eine Auflistung von GPL Sachen wäre von Vorteil.

Gespeichert

Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #1 am: August 15, 2008, 03:41:04 »

Ich hab den Session Token aus diesem Grund in die Session-Klasse eingefügt.
Man könnte das manuell in jedes Formular eintragen und anschließend gegenprüfen.
Eine allgemeine Klasse für die Formularbehandlung kommt, integriert ist dann neben Token-Insert ebenfalls das serverseitige Errorhandling - eine clientseitige Validierung lässt sich bestimmt noch ergänzen.

Eine Backupfunktion für die Db ist bereits vorhanden - kommt alles nach dem Urlaub.

Eine Backupfunktion für das gesamte System gibts allerdings noch nicht. Diese wird aber im Zusammenhang mit dem Updater und Revert von Updates sehr wichtig werden.



Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
xsign.dll
Guide
***
Offline Offline

Beiträge: 155


« Antworten #2 am: August 15, 2008, 06:39:32 »

Jops geile Sache. Hast du die Tar Klasse noch irgendwo Huch Die könnte rekursiv die Directories ablaufen und nen schmackhaftes backup erstellen. Könnte aber bisschen schwierig werden mit der PHP Execution Time.
Gespeichert

Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #3 am: August 15, 2008, 11:26:44 »

Nimm einfach PHP5 std: zip. Die ExecTime kann man höher setzen.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
xsign.dll
Guide
***
Offline Offline

Beiträge: 155


« Antworten #4 am: August 16, 2008, 03:15:49 »

Jo exec time 0 - is PHP_INI_ALL. Hatte sowas irgendwie auch im Hinterkopf.

Zitat
PHP 5.2.0 and later
Linux systems

In order to use these functions you must compile PHP with zip support by using the --enable-zip configure option.

Ist also kein Standard. Muss manuell einkompiliert werden.
Darum wäre als Fallback irgend eine andere GPL Zip Klasse notwendig.
Gespeichert

Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #5 am: September 10, 2008, 02:35:54 »

Du hast das Thema "CSRF" und Sicherheit im Channel nochmals angesprochen. Ich denke, wir sind erstmal gut beraten, wenn wir mit dem vorhandenen Einmalschlüssel (Session-Token) im Hidden Field aller Formulare arbeiten. Ein weiterer Ansatz der mir einfällt ( unterstellt Javascript "off" ist undenkbar): Referrer-Prüfung, aber es gibt erstens Proxies und zweitens den einfachen Austausch per JS. Ansonsten, bleiben nur die Fragen: ob bei uns alle Scheunen-Tore offen stehen und wie es im Vergleich zu anderen Systemen aussieht?
Vor Injections/XSS-Angriffen und anderem Murks dürfte uns die Intrusion-Detection bewahren.
Alternative Sicherungsmöglichkeiten sollten wir recherchieren - bitte eine Sammlung anlegen.

[1] http://shiflett.org/php-security.pdf
[2] http://www.bsi.de/literat/studien/websec/WebSec.pdf

Außerdem könnten wir mögliche Angriffe als Testfälle für einen Webtester aufsetzen der gegen Clansuite arbeitet.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
xsign.dll
Guide
***
Offline Offline

Beiträge: 155


« Antworten #6 am: September 10, 2008, 02:39:22 »

Die aktiven praktischen CSRF möglichkeiten bestehen immer darin:

- simpler HTTP Request, der durch den Admin ausgeführt wird (Iframe auf einer vermeintlich ungefährlichen Seite) -> davor dürfte der Session Token schützen, IDS jedoch nicht
- einschleusen von Javascript Code, um z.B. das ausgefüllte User/Passwort Feld auszulesen -> davor schützt entweder autocomplete off oder IDS
- Man in the middle attacks, wobei wiederrum JS eingeschleust wird, welcher als Keylogger dient -> davor schützt nur IDS

Das ist so das gängigste. IDS macht dort einen recht guten Job imho - ich frage mich dennoch, wie sich IDS bei individuellen Foren Posts verhält, vorallem wenn man Code Snippets posten möchte.
Gespeichert

Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #7 am: September 19, 2008, 08:10:21 »

[3] http://www.heise.de/security/Einfallstor-Browser--/artikel/115254/3
[4] http://www.owasp.org/index.php/Main_Page
[5] http://ha.ckers.org/xss.html
[6] http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project
[7] http://www.owasp.org/index.php/Category:OWASP_CAL9000_Project
[8] http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/index.html
[9] http://code.google.com/p/sseq-lib/
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  


Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines

Google visited last this page Gestern um 02:40:38