302prohibed - Test
Mit diesem Versuchsaufbau möchte ich herausfinden, ob es theoretisch eine Möglichkeit
gibt, dem Highjacking (302 Redirect) zu entfliehen.

Den Ansatz brachte AnjaK aus dem Abakusforum. doch leider ist  die von 
Ihr vorgeschlagene Lösung nicht parktikabel, da sie von Voraussetzungen ausgeht, die 
meiner Meinung nach falsch sind.

So habe ich hier insgesamt 8 Tests, mit denen ich versuchen werde eine praktikable 
Lösung herbeizuführen.

Test A:
beinhaltet die von Anja beschriebene Lösung:

die startseite.php macht einen 301-Redirect auf die umleitung.php. Und die umleitung.php
sendet per JavaScript ein Formular ab. Dieses Formular öffnet die startseite.php und
belegt die Variable XYZ mit einem Wert. Durch diesen Wert ist sichergestellt, dass der
Loop nicht von vorne beginnt.

Test B:
ist dem Test A sehr gleich. Hier wird lediglich von der umleitung.php nicht wieder zurück
auf die startseite.php geleitet, sondern auf die ziel.php. Dadurch lässt es sich evtl.
leichter nachvollziehen, ob der Bot nun JavaScript ausführt oder nicht.

Test C:
ist eine Lösung, die ohne JavaScript auskommt. Hier wird per 301-Redirect auf die 
umleitung.php weiter geleitet. Eine Variable wird belegt, und die startseite.php wird
in die umleitung.php includiert.

Test D:
Eine Lösung, die nur mit der startseite.php funktioniert. Hier wird beim ersten Aufruf 
durch den Client, die Variable x302prohibed durch einen Wert belegt, und eine neue URL
mit der start.php gebildet. Auf diese neue URL wird per 301-Redirect weiter geleitet.

Test E:
Dies ist der gleiche Test wie Test D. Nur dass in der startseite.php noch zusätzlich 
versucht wird ein Cookie zu setzen, welches dann ausgelesen wird.

Test F:
In diesem Test wollen wir einfach nur sehen ob der Bot tatsächlich von der redirect302.php auch dem
301 direkt folgt um dann im 200 zu enden.

Test G:
Hier strapazieren wir den Bot bzw. auch den Browser ein bisschen, und schauen mal wievielen Redirects (301) er folgt.
Um es aber nicht zu übertreiben, habe ich ab redirect01.php "nur" 10 Stufen gebaut. also nach 
dem 9. Redirect wird der Client mit einem 200er erlöst.
(wenn er dann so weit geht. Ich tippe, dass er nach dem 5. Redirect keine Lust mehr hat) 

Test H:
Hier noch eine kleine Erweiterung. Was bleibt übrig, wenn man von redirectb301.php mit einem 301
auf einen 302 und dann auf einen 200 geht. <- Anregung von 800xe


--

Der Test "302prohibed" wurde initialisiert von http://kex.cc
Eine genauere Beschreibung gibt es im Blog unter dem Titel 
Gibt es einen Weg aus dem Hijacking

Sonnige Grüsse
HaPe
======
09.09.2010 08:36:59