Webserver zeigen manchmal ein ganz lustiges Verhalten, etwa wenn ein URL encoded Base64 String übergeben wird.
Benutzt wird das zum Beispiel beim Aufruf eines OCSP Responders wo die Information über das zu prüfende Zertifikat als urlencodetes Base64 übergeben wird.
Ein Beispiel in Base64
jA0EAxMcxamDRMfOGV5/gyZPnyX1BBPOQAE4BHbh7=
Und urlencoded
jA0EAxMcxamDRMfOGV5%2FgyZPnyX1BBPOQAE4BHbh7%3D
Wird jetzt der String „jA0EAwMCxamDRMfOGV5%2FgyZPnyX1BBPOQAE4BHbh7%3D“ z.B. als http://example.com/test/jA0EAwMCxamDRMfOGV5%2FgyZPnyX1BBPOQAE4BHbh7%3D aufgerufen, macht ein Apache draus wieder den Schrägstrich und meldet einen „404 File not found“ zurück, weil das als Pfad und Datei interpretiert wird. Eigentlich sollte das aber wie alle URLs unter /test/ an ein Backend übergeben werden.
Lösung: Per Default ist die Option AllowEncodedSlashes auf Off, wird die Option gesetzt, wird der String sauber durchgereicht.
Die Beispiele sind übrigens Kauderwelsch und haben keine tatsächliche Bedeutung.
Schreibe einen Kommentar