Demonstrations-Seiten zu Sicherheitslücken
Sowohl in PHP-Scripten, als auch in der PHP-Konfiguration bestehen einige Angriffsvektoren, welche PHP zu einem Drahtseil-Akt machen. Die folgenden Scripte sollen dies ein wenig verdeutlichen:
- unsichere Seite
ein Script, welches sämtliche Anfängerfehler beinhaltet:
- GET-Variablen via $varname angesprochen (funktioniert nur, wenn register_globals = On und ist dazu ziemlich gefährlich)
- Variablen werden verwendet, ohne sie vorher mit festem Wert zu initialisieren
- Dateien zum includen werden via GET übergeben und nirgendwo überprüft; es können also - bei entsprechend schlechter Server-Konfiguration - sämtliche lokale Dateien includet werden (LFI - local file inclusion) und auch Dateien von fremden Servern, welche z.B. Schadcode enthalten könnten (RFI - remote file inclusion)
[ demo ] [ show source ]
- unsichere Seite, funktioniert aber auch mit register_globals = Off
ein Script, welches die meisten Anfängerfehler beinhaltet:
- Variablen werden verwendet, ohne sie vorher mit festem Wert zu initialisieren
- Dateien zum includen werden via GET übergeben und nirgendwo überprüft; es können also - bei entsprechend schlechter Server-Konfiguration - sämtliche lokale Dateien includet werden (LFI - local file inclusion) und auch Dateien von fremden Servern, welche z.B. Schadcode enthalten könnten (RFI - remote file inclusion)
[ demo ] [ show source ]
- unsichere Seite, nutzloser Sicherheits-Versuch
ein Versuch, mehr Sicherheit in das Script zu bringen:
".php" im Parameter page weglassen und erst beim include-Befehl wieder anhängen
Es bestehen weiterhin die alten Fehler:
- GET-Variablen via $varname angesprochen (funktioniert nur, wenn register_globals = On und ist dazu ziemlich gefährlich)
- Variablen werden verwendet, ohne sie vorher mit festem Wert zu initialisieren
- Dateien zum includen werden via GET übergeben und nirgendwo überprüft; es können also - bei entsprechend schlechter Server-Konfiguration - sämtliche lokale Dateien includet werden (LFI - local file inclusion) und auch Dateien von fremden Servern, welche z.B. Schadcode enthalten könnten (RFI - remote file inclusion)
[ demo ] [ show source ]
- unsichere Seite, schwacher Sicherheits-Versuch
ein Versuch, mehr Sicherheit in das Script zu bringen:
Abfragen, ob ein Array-Element zu der geforderten page existiert
Es bestehen weiterhin einige alte Fehler:
- GET-Variablen via $varname angesprochen (funktioniert nur, wenn register_globals = On und ist dazu ziemlich gefährlich)
- Variablen werden verwendet, ohne sie vorher mit festem Wert zu initialisieren
[ demo ] [ show source ]
- sichere Seite, rein mit sicherer Programmierung
[ demo ] [ show source ]
- CD-Laufwerk öffnen / schließen
ein Script, welches lediglich das CD-Laufwerk öffnet bzw. schließt...
[ demo ] [ show source ]
- User-Info
Username (und weitere Informationen) herausfinden, unter welchem das PHP-Script ausgeführt wird...
[ demo ] [ show source ]
- Cross-Site-Scripting
Formular ohne Schutz-Maßnahmen - XSS-anfällig...
[ demo ] [ show source ]
[zurück]