session hijacking,, wat houdt dit in?
Ik weet dat het mogelijk is om sessies over te nemen, maar kunnen die ratten die dat doen ook de waarden van session vars aanpassen.
Ben er altijd vanuit gegaan van wel, maar is dat paranoia?
sessie hijacking is geen sessie overnemen maar een sessie faken. deze sessie wordt dus aangemaakt met inhoud naar keuze en naar jouw server gestuurd.
localhost/index.php
en stel, rabobank gebruikt ook de sessie $_SESSION['id_gebruiker'], dat die dan al bestaat ofzo?
Concluderend: ik ben niet paranoide :-P
Door het gebruik van lange willekeurige getallen of strings als sessiesleutel.
Weet iemand wat daarmee wordt bedoeld?
@ozzie ik denk dat ze ermee een salt bedoelen
ja, maar ik bedoel eigenlijk... wat bedoelen ze nu precies? dat je de sessie-id in de cookie moet vervangen door een of andere lange string die dan fungeert als sessie key?
Ik ben nu bezig met een stukje code, die het sessie-id koppelt aan het IP adres van de gebruiker en opslaat in een database. Telkens als de sessie nodig is wordt gekeken of het juiste sessie-id gekoppeld is met het IP adres, zoniet wordt de toegang geweigerd.
Zodra de gebruiker uitlogd, wordt deze entry verwijderd uit de database, en een nieuwe aangemaakt wanneer er weer ingelogd wordt. Dit maakt het al stukken lastiger om gebruik te maken van sessie hijacking.
Als iemand in een trein zit en met zijn/haar mobieltje jouw site bezoekt, zal het ip-adres telkens wisselen (dit is namelijk gekoppeld aan de telefoon zendmasten). In jouw situatie zal iemand die per trein reist dus continue worden uitgelogd.
Ik heb het ooit getest. Bij de geteste mobieltjes wisselde het ip bij elke internet aktiviteit.
Ozzie PHP op 08/10/2012 09:15:42:
Chris, ik vrees dat je de plank hier een beetje mis slaat. Het is geen goed idee om te controleren op IP-adres. Een IP-adres is namelijk niet (meer) persoonsgebonden.
Als iemand in een trein zit en met zijn/haar mobieltje jouw site bezoekt, zal het ip-adres telkens wisselen (dit is namelijk gekoppeld aan de telefoon zendmasten). In jouw situatie zal iemand die per trein reist dus continue worden uitgelogd.
Als iemand in een trein zit en met zijn/haar mobieltje jouw site bezoekt, zal het ip-adres telkens wisselen (dit is namelijk gekoppeld aan de telefoon zendmasten). In jouw situatie zal iemand die per trein reist dus continue worden uitgelogd.
Ozzie,
Voor normaal gebruik is dit ook niet aan te raden, echter dit is voor een bedrijfsweb applicatie. Dit zal alleen vanaf vaste pc’s thuis en intern bij het bedrijf gebruikt worden. In de situaties die ik zelf heb nagebootst werkt dit perfect voor waar ik het nodig heb.
Ik heb mijn eigen nog niet verdiept in een concrete beveiliging voor het normale gebruik.
P.S. de plank mis slaan doe je niet zo snel hoor, dat noemen ze trail and error ;)
Gewijzigd op 08/10/2012 09:34:23 door Chris PHP
Dat heb ik ooit is meegemaakt op xfire. Ineens was heel de school ingelogd op mijn account. Daar werd ik toch niet blij van.
Chris NVT op 08/10/2012 09:33:13:
P.S. de plank mis slaan doe je niet zo snel hoor, dat noemen ze trail and error ;)
Ah ja, je snapt wat ik bedoel ;-)
Als het vaste ip's zijn dan kan jouw oplossing, alleen kon ik er dat in 1e instantie niet uit afleiden.
Ozzie PHP op 08/10/2012 09:43:05:
Ah ja, je snapt wat ik bedoel ;-)
Als het vaste ip's zijn dan kan jouw oplossing, alleen kon ik er dat in 1e instantie niet uit afleiden.
Chris NVT op 08/10/2012 09:33:13:
P.S. de plank mis slaan doe je niet zo snel hoor, dat noemen ze trail and error ;)
Ah ja, je snapt wat ik bedoel ;-)
Als het vaste ip's zijn dan kan jouw oplossing, alleen kon ik er dat in 1e instantie niet uit afleiden.
Het hoeven geen 'vaste' ipadressen te zijn. Een pc wisselt geen ip adressen, dit gebreurd alleen na het rebooten. En dan ook alleen wanneer de DHCP lease verloopt.
Ik bedoel vaste tijdens gedurende de sessie.
Ozzie PHP op 08/10/2012 09:50:43:
Ik bedoel vaste tijdens gedurende de sessie.
Dat heeft een pc altijd ;)
Ja, maar een mobieltje niet :)
Ozzie PHP op 08/10/2012 09:51:40:
Ja, maar een mobieltje niet :)
Klopt, ze moeten straks met IPv6 gewoon elk apparaat/abbonement een fixed IP geven.
Dat zou mooi zijn inderdaad. Ik heb alleen geen flauw idee of zoiets technisch mogelijk is.