Portal > Foren > PHP > PHP-Programmierung > Ist $_SERVER['HTTPS'] manipulierbar?
Antwort
 
Themen-Optionen
Alt 14.12.2006, 16:36 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard Ist $_SERVER['HTTPS'] manipulierbar?

Hallo,
ich habe eine Frage zu den Inhalten des $_SERVER-Arrays und im Speziellen zu $_SERVER['HTTPS'].

Im Manual steht
Zitat:
'HTTPS'

Set to a non-empty value if the script was queried through the HTTPS protocol.
Fein. Frage ist nur: kann man das auch irgendwie vo außerhalb manipulieren oder reicht folgende Codezeile
PHP-Code:
$protocol = isset($_SERVER['HTTPS']) ? 'https' 'http'
Danke für Eure Hilfe.
Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 16:56 Nach oben    #2
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

Geh immer davon aus, das alles was im $_SERVER steht von außen manipuliert werden kann.

MfG Byrel
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 17:00 Nach oben    #3
Dejan Spasic
 
Benutzerbild von dejan_spasic
 
Registriert seit: 05.01.2006
Ort: Düsseldorf
Beiträge: 169
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Hallo,
Fein. Frage ist nur: kann man das auch irgendwie vo außerhalb manipulieren oder reicht folgende Codezeile...
Mir ist nicht bekannt, dass man den Wert "ausserhalb" manipulieren könnte
Zitat:
...oder reicht folgende Codezeile
PHP-Code:
$protocol = isset($_SERVER['HTTPS']) ? 'https' 'http'
Zur sicherheit kannst du ja noch überprüfen ob der Wert auch "on" ist.
PHP-Code:
$protocol = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) === "on" 
    
'https' 
    
'http'
__________________
Da wir alle in einem Boot sitzen, ist es gut, dass wir nicht alle auf einer Seite stehen... (mir unbekannt)
dejan_spasic ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 17:41 Nach oben    #4
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

Nahezu jeder Wert von $_SERVER kann von außen manipuliert werden. Selbst PHP Entwickler wissen teilweise nicht was manipuliert werden kann und was nicht ...

Deshalb immer annehmen, dass Daten die von SCPG kommen "tainted" sind.

MfG Byrel
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 18:03 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Hallo,
danke.

Dejans Ergänzung würde mir dann ja ganz gut stehen, ne?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 19:05 Nach oben    #6
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

SCPG ?

//edit:
rofl der will das nicht groß schreiben!
//edit 2:
haha schlaues vB, nur großbuchstaben im post und er macht alles bis auf den ersten klein
__________________
I did it my way - Senseless-Blog

Geändert von WarrenFaith (14.12.2006 um 19:08 Uhr).
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 19:11 Nach oben    #7
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

Server, Cookie, Post, Get

@Ben
Besser wenn du einfach den port prüfst

Geändert von Byrel (14.12.2006 um 19:14 Uhr).
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 20:01 Nach oben    #8
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Zitat:
Zitat von Byrel Beitrag anzeigen
Besser wenn du einfach den port prüfst
Das tue ich wie?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 20:18 Nach oben    #9
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

if ($_SERVER["SERVER_PORT"]!=443)
echo "kein ssl";
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 20:27 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Nun, hm. Jau.
Danke, werde ich mir merken und bei Gelegenheit einfließen lassen.

Dank und Grüße,
Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 09:14 Nach oben    #11
Benutzer
 
Benutzerbild von chrigu
 
Registriert seit: 18.09.2006
Beiträge: 50
Standard

Zitat:
Zitat von Byrel Beitrag anzeigen
if ($_SERVER["SERVER_PORT"]!=443)
echo "kein ssl";
Oben schreinst du, dass nahezu jeder Wert in $_SERVER manipuliert werden kann und empfiehlst ihm jetzt, dieses zu verwenden?
Da kann er ja einfach $_SERVER['HTTPS'] prüfen, oder?

Gruss,
Chrigu
chrigu ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 11:25 Nach oben    #12
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Joa ... ich habs nun so verstanden, weil es ja eine negierte Abfrage ist. Also ich vergleiche, ob es ungleich ist. Hm ...
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 13:48 Nach oben    #13
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 240
Standard

Naja, das ändert ja nichts, ob ich jetzt schreibe
PHP-Code:
if ($_SERVER["SERVER_PORT"]!==443)
  echo 
"Kein SSL";
else
  echo 
"SSL"
oder
PHP-Code:
if ($_SERVER["SERVER_PORT"]===443)
  echo 
"SSL";
else
  echo 
"Kein SSL"
Gästern spät gewesen Ben, oder irre ich mich jetzt total?

Naja, dejans Variante und die Überprüfung auf den Port sollte reichen, sicherer gehts meiner Meinung nach nicht.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 14:08 Nach oben    #14
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Heute Morgen war ich noch bei meinen $o, $f, $t, $x ... .. und gestern .. joa, müde.

Danke.
Hab für mich die beste Lösung erhalten.

Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 14:48 Nach oben    #15
Benutzer
 
Benutzerbild von chrigu
 
Registriert seit: 18.09.2006
Beiträge: 50
Standard

Zitat:
Zitat von Byrel Beitrag anzeigen
Geh immer davon aus, das alles was im $_SERVER steht von außen manipuliert werden kann.
Mich persönlich würde jetzt noch die Begründung dazu interessieren?
Hat jemand einen guten Link?

Gruss,
Chrigu
chrigu ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 15:18 Nach oben    #16
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

http://www.owasp.org/index.php/Main_Page
http://phpsec.org/ (siehe deren Linksektion)
http://sillyish.org/security.php
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 15:50 Nach oben    #17
Benutzer
 
Benutzerbild von chrigu
 
Registriert seit: 18.09.2006
Beiträge: 50
Standard

Ok, aber gibt es ein konkretes Code-Beispiel, wo eine Variabel aus $_SERVER manipuliert wird?
Ich meine jetzt nicht den User-Agent (welcher ja vom Browser kommt), sondern z.b. $_SERVER['HTTPS']?
Mir geht es darum, dass z.b. Shibboleth in dieses globale Array Werte schreibt.. Wenn man sich nicht darauf verlassen könnte, wäre dies ja katastrophal..!

Gruss,
Chrigu

Aja: http://de.wikipedia.org/wiki/Shibboleth_%28Internet%29
chrigu ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 16:17 Nach oben    #18
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

1. Es gibt haufenweise Code Beispiele
2. Kannst ja auch selbst versuchen zu manipulieren

Begründung:
Weil PHP die Sachen teilweise aus dem HTTP Header nimmt bzw. aus irgendeiner anderen manipulierbaren Quelle

MfG Byrel
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.12.2006, 16:46 Nach oben    #19
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard

Zitat:
1. Es gibt haufenweise Code Beispiele
Jupp, ich hab gesucht, nix gefunden.
Hau mal lieber ein paar Links raus als dauernd zu sagen das es das in Massen gibt.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.12.2006, 11:39 Nach oben    #20
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Habe gestern Nacht auch noch mal gesucht und so wirklich fündig bin ich nicht geworden.
Hat jemand eventuell noch ein paar Verweise? Ein guter reicht natürlich auch schon.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:09 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44