基本信息
文件名称:计算机网络攻击与防护第十二章实战网络攻防61课件.pptx
文件大小:3.73 MB
总页数:12 页
更新时间:2025-06-12
总字数:约1.78千字
文档摘要

;;权限控制

Authentication(身份验证)与Authorization(授权)

Authentication:WhoamI?

Authorization:WhatcanIdo?

越权(OverPermission)

是系统对用户的操作权限审核不严或者严格的判断,导致用户执行了自己权限之外的操作。

;越权通常包括:水平越权和垂直越权

水平越权

水平越权指攻击者尝试访问与其具有相同权限(级别)的用户资源。

垂直越权

垂直越权指低权限(级别)攻击者尝试访问高权限(级别)用户的资源。;步骤1:打开Pikachu靶场

选择一个Firefox浏览器或者GoogleChrome浏览器,并使用它来访问Pikachu靶场的URL:/pikachu-master/vul/overpermission/op1/op1_login.php

在靶场平台网站的overpermission栏目水平越权页面,

根据提示”PleaseEnterYourInformation”

输入用户名lucy和密码123456。

点击Login按钮。;步骤2:查询个人信息

返回的查询页面,点击查看个人信息,

查询到lucy的具体信息如下。;步骤3:分析URL

我们发现,点击查看个人信息,提交给网站后台一个GET请求。

URL编码地址:

/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lucysubmit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

URL解码地址:

/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lucysubmit=点击查看个人信息

;步骤4:水平越权

将username=lucy,修改为username=lili,提交payload,查看个人信息。

从用户lucy页面跳转到同权限(级别)用户lili的个人信息页面。

完成水平越权攻击。

URL解码地址:

/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lucysubmit=点击查看个人信息

Payload:

/pikachu-master/vul/overpermission/op1/op1_mem.php?username=lilisubmit=点击查看个人信息;通过查看op1_mem.php的代码片段。

我们发现问题,没有使用session来校验,而是使用的传进来的值,权限校验出现问题,这里应该跟登录状态关系进行绑定。

水平越权的op1_mem.php的代码片段:

if(isset($_GET[submit])$_GET[username]!=null){

//没有使用session来校验,而是使用的传进来的值,权限校验出现问题,这里应该跟登录态关系进行绑定

$username=escape($link,$_GET[username]);

$query=select*frommemberwhereusername=$username;

$result=execute($link,$query);

if(mysqli_num_rows($result)==1){

$data=mysqli_fetch_assoc($result);

$uname=$data[username];

$sex=$data[sex];

$phonenum=$data[phonenum];

$add=$data[address];

$email=$data[email];;1.使用最小权限原则对用户进行授权;

2.使用严格而合理的权限校验规则;

3.使用后台登录状态作为条件进行权限判断,严格过滤前端传递的条件。;;