这是一个计数器的例子
<?php session_start(); if(isset($_SESSION['count'])){ $_SESSION['count']++; }else{ $_SESSION['count'] = 1; } print($_SESSION['count']);
首先在IE浏览器上访问该文件,查看目前计数器数值。
现在开始演示如果更改用户的Session数据
通过Firebug等工具,查看PHPSESSID的值,例如我的是 75ff0dd6a0824a2b607777b58c27f78a
cat /tmp/sess_75ff0dd6a0824a2b607777b58c27f78a count|i:100;
将 count|i:100; 改为 count|i:1000; 再次去浏览器刷新看看现在计数器的数值是多少。
通过这种方法可以实现,提升权限,绕过登录等等。
由于session 存储在 tmp 目录下,一旦网站被注入就来带安全隐患
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。