phpbar.de logo

Mailinglisten-Archive

[php] externe Verlinkungen bei Sessions mit GET

[php] externe Verlinkungen bei Sessions mit GET

Lars Volkhardt php_(at)_phpcenter.de
Mon, 26 Nov 2001 04:02:58 +0100


Hallo Liste, hallo Franz

Franz Graf <php_mailinglist_(at)_locked.de> schrieb am
Sonntag, 25. November 2001, 20:25:

> Bei mir nicht nachvollziehbar: IE5.0 & Mozilla 0.9.4.
> Öffnest Du in einer eventuell verwendeten prepend eine Session?

Nein ich öffne garkeine Sessions, ich schau mir einfach mittels Proxy
an, was mein Browser an sämtliche Scripte als Referer schickt...und
der schickt nunmal mit dieser Methode immer noch den kompletten
Query-String der _Original_-Seite mit (siehe unten)

> Mein Test:
> 0.html : HTML-Link auf a.php?x=testid
> a.php  : header('Location: http://gateway/b.php");
> b.php  : phpinfo();

> In b.php wird dann wie von Dir beschrieben 0.html als Referrer dargestellt -
> allerings finde ich nirgends meine Variable $x=testid.

Dicker Denkfehler:

Deine "sensitive" Datei / dein Script (also das PHP-Script, von dem
per <img src="..."> Bilder z.B. in ein Forum eingefügt werden), enthält
die Session-ID, also z.b.: display_thread.php?SID=39943943...

Und von diesem Script mit der Session-ID im Get-String wird das Bild
aufgerufen, _NICHT_ von deiner 0.html, test.html oder sonstwas. (denn
es geht ja hier um Session-IDs im Query-String, per GET also, und da
wirst du mir doch nicht mit irgendwelchen statischen html-Seiten
kommen ;-))

D.h.: du hast eine Seite/Script, welches Sessions verwendet (also im
Query-String die Sess-ID enthält), und von dem aus Bilder referenziert
werden mittels <img ..> (oder meinetwegen auch Links enthalten sind
auf a.php)
Diese Bilder werden mit deiner Methode von display_thread.php?SID=xxx
über a.php zu b.php umgeleitet.

Um es zu verdeutlichen, ruf z.B. ganz einfach mal deine 0.html mit
einem Query-String auf, in etwa so:
www.deinserver.de/0.html?SID=blabla
und folge deinem Test-Link zu a.php (bzw. danach zu b.php).

et voilà:
Anschließend siehst du, nachdem du zu b.php (zu der Datei mit
phpinfo()) umgeleitet wurdest, als Referer:
www.deinserver.de/0.html?SID=blabla

Und das passiert auch, wenn du über a.php?x=testid, oder a.php,
oder "a.php?wasauch=immer" gehst.

Hoffe das war nun halbwegs verständlich, wenn nicht einfach nochmal
nachfragen ;-)

Tschüß,
Lars


php::bar PHP Wiki   -   Listenarchive