两种越权类型
越权漏洞案例演示
水平越权
登录成功后点击查看信息,发现url中携带username=XXX的明文参数
- 将username=XXX改为我们需要查询的用户名,即可越权查看该用户的信息。
代码分析
代码语言:javascript复制if(isset($_GET['submit']) && $_GET['username']!=null){
//没有使用session来校验,而是使用的传进来的值,权限校验出现问题,这里应该跟登录态关系进行绑定
$username=escape($link, $_GET['username']);
$query="select * from member where username='$username'";
前端传入的值没有进行处理,直接带入数据库查询。
锤子越权
- 先登录到admin管理员界面,抓取添加用户的数据包。
- 登录普通用户账户,将管理员添加用户数据包中的cookie值换成普通用户登陆状态下的
- 成功
代码分析
代码语言:javascript复制$link=connect();
// 判断是否登录,没有登录不能访问
//这里只是验证了登录状态,并没有验证级别,所以存在越权问题。
if(!check_op2_login($link)){
header("location:op2_login.php");
exit();
}