【Web攻防之业务安全实战指南】第6章 业务授权访问模块

发布时间 2023-12-16 17:41:21作者: 橙子全栈测试笔记

6.1 非授权访问测试

6.1.1 测试原理和方法
非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制到其他浏览器或其他电脑上进行访问,观察是否能访问成功。

6.1.2 测试过程
靶场:xvwa-Missing Functional Access Control

靶场下载链接:xvwa

URL:http://192.168.2.14/xvwa/vulnerabilities/missfunc/

1.登录admin账号

用户名:admin,密码:admin

 2.进入Missing Functional Access Control,查看item=4,点击View

 

3.复制URL在另一个浏览器中打开(或者burp抓包删除cookie),在不登陆的情况下也可以查看数据

URL:http://192.168.2.14/xvwa/vulnerabilities/missfunc/?item=4&action=view

 

6.1.3 修复建议
未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷,导致其他用户可以直接访问,从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露,所以对未授权访问页面做Session认证,并对用户访问的每一个URL做身份鉴别,正确地校验用户ID及Token等。

6.2 越权测试

6.2.1 测试原理和方法
越权一般分为水平越权和垂直越权,水平越权是指相同权限的不同用户可以互相访问;垂直越权是指使用权限低的用户可以访问权限较高的用户。

6.2.2 测试过程
靶场:pikachu-Over Permission

靶场下载链接:pikachu

6.2.2.1 水平越权测试

URL:http://192.168.2.14/pikachu/vul/overpermission/op1/op1_login.php

1.点击查看个人信息,burp抓包查看lucy个人信息

用户名:lucy,密码:123456

点击查看个人信息:

 burp拦截请求,username的值替换成lili用户

 放行,检查前台页面变化,账号个人信息已经变化

 

6.3 垂直越权

我们先登录超级管理员的账号

这里有两个用户admin/123456,pikachu/000000。admin是超级管理员

打开 BurpSuite 抓包,然后添加一个用户

把这个请求发送到 Repeater 中,然后退出管理员账号,重放这个数据包,这时候用户是会添加失败的,因为没有登录状态

登录普通用户账号,取出当前账号的Cookie

 用上图中的Cookie修改我们刚刚发送到 Repeater 中那个数据包的  Cookie,再重放这个数据包。这时候就添加了另一个用户,第一个是超级管理员添加的;另一个是普通用户重放超级管理员的数据包添加的。

 后台没有判断发送这个数据包的用户权限,而是直接执行了