Moderator |
|
Uhm, probeer je een (externe?) applicatie te reverse engineeren? Heb je de broncode + sessie-bestanden van deze applicatie? En zijn dit wel sessie-bestanden (als ASP.NET sowieso een standaard manier (en bestandsformaat) heeft voor (opslag van) sessies?), of hebben deze bestanden een specifiek formaat voor gebruik binnen deze applicatie? Misschien zijn ze wel versleuteld of wat dan ook? Heb je documentatie van deze applicatie, wellicht staat hier ook in vermeld hoe (en of) er met deze applicatie informatie uitgewisseld kan worden?
Ik begrijp eigenlijk hoe langer hoe minder wat je probeert te doen. Zelfs als het je lukt om deze bestanden te "kraken" helpt het je waarschijnlijk niet verder. Ik bedoel, wat wil je met die informatie doen? In PHP zo'n ASP.NET-bestand nabouwen? Wat wil je bereiken? Wil je deze applicatie uitbouwen in PHP?
---
Sessie-bestanden in PHP bevatten een geserialiseerd array. Deze bestanden staan opgeslagen aan de serverzijde en zijn niet van buitenaf benaderbaar. De bestandsnaam bevat een hash, bijvoorbeeld sess_9a2g2cu021oaj352i6xh63i8n5. Aan de clientzijde sla je een sessie-cookie op, bijvoorbeeld genaamd PHPSESSID. De inhoud van het cookie bevat deze hash. Als je een pagina opvraagt (via een HTTP GET of POST request) dan wordt jouw cookie-informatie naar de webserver gestuurd. De webserver zoekt vervolgens uit of er een geldig sessie-bestand bestaat met die hash. $_SESSION wordt vervolgens gevuld met die informatie. De "controle" ligt te allen tijde aan de serverzijde. Je zou een sessie(-bestand) dus kunnen vergelijken met een "serverside cookie".
In je applicatie breng je meestal "extra voorzieningen" aan die de identiteit van een gebruiker verder waarborgen. Zonder deze voorzieningen kan het eenvoudig zijn om iemand zijn sessie (en daarmee zijn/haar identiteit) te stelen. Je hoeft namelijk enkel de sleutel (hash) van de sessie te kennen. Als jouw site bijvoorbeeld HTML-invoer toestaat van gebruikers, dan zou iemand via JavaScript document.cookie kunnen doorsturen aan een externe site. Een extra voorziening zou bijvoorbeeld een IP-controle kunnen zijn, zodat als iemand erin slaagt jouw sessie-cookie te stelen, deze onbruikbaar is voor deze persoon (er vanuitgaande dat deze niet hetzelfde IP heeft en jouw IP niet kent en ook niet kan nabootsen (spoofen)). |