Session Hijacking
___
Session hijacking is toch wel interessant.
Ikzelf maak gebruik van mn database, waar mijn sessies opgeslagen worden
(unieke ID met username en ip adress van de gebruiker)
Vervolgens wordt t ip gecontrolleerd en de sessie.
Is dit te hijacken ?
Chris NVT op 23/01/2013 10:39:18:
@Dennis,
Wordt dat per sessie gedaan? Of eenmalig?
Als het eenmalig is kan de gebruiker dus nooit via een andere omgeving inloggen, aangezien hij daar een ander ip krijgt.
Wordt dat per sessie gedaan? Of eenmalig?
Als het eenmalig is kan de gebruiker dus nooit via een andere omgeving inloggen, aangezien hij daar een ander ip krijgt.
Zodra een gebruiker inlogd, wordt er een nieuwe sessie gemaakt, met huidige ip en huidige unieke sessie code. Deze sessie is voor 30 minuten actief, na 30 minuten inactiviteit wordt is deze verlopen.
Soortement van cookie met timeout.
______
Nou is mijn vraag als volgt: In laatste posts van mij gaf ik aan dat ik met een gallery bezig ben. In deze gallery kunnen mensen albums maken, en foto's uploaden naar database. Foto's en albums kunnen worden versleuteld met een wachtwoord. Dus voor buitenstaanders moeten ze eerst een wachtwoord invullen voordat ze deze kunnen bekijken.
Nou haal ik in een php script de image uit het database.
Is het veilig om sessie te gebruiken om de ingevoerde wachtwoord mee te geven, zodat ik vanuit de image.php kan controlleren of het wachtwoord wel klopt, bij de gegeven gallery_id ?
Ik zit hierover te tobben
Gewijzigd op 23/01/2013 14:52:09 door Dennis WhoCares
Probleem met het opslaan van ip adres is dat je mobiele gebruikers regelmatig opnieuw zullen moeten inloggen. Die hebben namelijk door roaming niet altijd hetzelfde ip adres. Beter is om gegevens van de browser op te slaan (zie browser fingerprinting). Als iemand opeens met een ander browser, dan weet je dat het niet dezelfde persoon is. Cookies zijn namelijk per browser opgeslagen, die kan je niet even overzetten.
Ik denk dat ik aan browseridentificatie beter af ben dan met ip-adres, daar heb je zeker gelijk in :) Mooie tip
Wat denk je van de veiligheid van mijn image? Hoe ken ik dat t beste oplossen ?
Dat is nergens voor nodig.
- SanThe - op 23/01/2013 15:07:54:
Nooit wachtwoorden in sessions en/of cookies zetten.
Dat is nergens voor nodig.
Dat is nergens voor nodig.
Dus t gehashde wachtwoord kan ik beter meegeven in de url van de image?
<img src='img.php?id=12&pass=---
Dennis WhoCares op 23/01/2013 15:06:35:
Worden cookies niet lokaal opgeslagen ? Daarom gebruik ik sessie, zodat een gebruiker deze niet zelf kan aanpassen?
Maar hoe denk je dat je sessie weet welke gebruiker je nu aan de lijn hebt? Door een sessie cookie op de browser van de gebruiker. Tenzij je er zelf een methode voor hebt geschreven....
Erwin H op 23/01/2013 15:17:40:
Maar hoe denk je dat je sessie weet welke gebruiker je nu aan de lijn hebt? Door een sessie cookie op de browser van de gebruiker. Tenzij je er zelf een methode voor hebt geschreven....
Wat bedoel je hier precies mee ?
Elke keer zodra een gebruiker pagina opent of refreshed wordt mijn controle opnieuw uitgevoerd. Klopt de verhouding niet met wat in database staat, is deze sessie weg gehaald en zal de gebruiker opnieuw moeten inloggen. Zodra gebruiker uitlogt, of browser sluit, gaat deze sessie ook verloren
Dat is dus ook direct het gevaar. Want een hacker kan dus het verkeer tussen browser en server afluisteren en dat sessie id uitlezen om op die manier een cookie op zijn eigen pc te zetten met dat sessie id.
(of via XSS zoals Kees in het andere topic uitlegt)
Je controle, op ip adres, is hier op zich wel afdoende voor (tenzij de hacker ook het ip adres spooft overigens), maar geeft dus een probleem voor mobiele gebruikers. Die moeten ook telkens opnieuw inloggen.
Gewijzigd op 23/01/2013 15:35:59 door Erwin H
Maar affijn, bedankt voor de info :)
Erwin H op 23/01/2013 15:34:18:
Je controle, op ip adres, is hier op zich wel afdoende voor (tenzij de hacker ook het ip adres spooft overigens), maar geeft dus een probleem voor mobiele gebruikers. Die moeten ook telkens opnieuw inloggen.
Dit is normaal gesproken alleen een probleem als een mobiele gebruiker zich ook verplaatst (van mast wisselt) Blijft die zitten om je website te bekijken dan zal zijn/haar ip niet wijzigen.
Dennis WhoCares op 23/01/2013 15:49:51:
Hmmmz ok, ik wist eigenlijk niet dat de browser een cookie maakt met sessie id.
Om het correct te zeggen, de server instrueert de browser om dat te doen. Maar ja, dat klopt. Kijk maar eens naar je eigen website, ook als het op localhost draait, dan zal je een cookie aantreffen met als naam PHPSESSID waarin het sessie id zit.
TJVB tvb op 23/01/2013 15:53:55:
Dit is normaal gesproken alleen een probleem als een mobiele gebruiker zich ook verplaatst (van mast wisselt) Blijft die zitten om je website te bekijken dan zal zijn/haar ip niet wijzigen.
Helemaal gelijk uiteraard.