WebGoat系列实验Access Control Flaws
WebGoat系列实验Access Control Flaws
Using an Access Control Matrix
- 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合。一个用户可以分配一到多个角色。基于角色的访问控制策略通常由两部分组成:角色许可管理与角色分配。基于角色的访问控制策略受到破坏就可能允许用户进行访问本不属于他的角色,或者以某种方式提升未经授权角色的特权。
- 依次选择Moe、Larry、Curly、Shemp尝试访问Account Manager资源,发现Larry具有访问权限。

Bypass a Path Based Access Control Scheme
- “guest”用户可以访问lessonPlans/en目录下所有文件。尝试打破访问控制策略并获取其他目录下的资源。本实验需要获取WEB-INF/spring-security.xml文件。
- 选择BackDoors.html文件,点击View File按钮,显示消息如下,表明可以正常访问当前目录下的文件。

- 设置代理端口,并使用Burp开启拦截http请求报文。再次选择BackDoors.html文件,点击View File按钮,此时可以获取到GET请求报文。

- 经过尝试,把BackDoors.html修改为../../../../../WEB-INF/spring-security.xml之后可以成功访问。

LAB: Role Based Access Control
Stage 1: Bypass Presentational Layer Access Control.
- 作为雇员Tom,突破弱访问控制并在职员列表中使用删除命令,验证Tom的简介可以被删除。
- 选择hr Jerry,登录后发现可以使用DeleteProfile命令。使用Burp进行拦截,点击DeleteProfile按钮,截获GET请求报文。分析action字段,发现进行删除操作的参数是DeleteProfile,之后就可以将这个请求报文丢弃掉了2333。


- 选择用户Tom进行登录,登录后发现只能进行ViewProfile操作。使用Burp进行拦截,在拦截的GET请求报文中将action字段的ViewProfile参数修改为DeleteProfile,发送报文,Tom的个人简介就被删除了。


Stage 2: Add Business Layer Access Control
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
Stage 3: Breaking Data Layer Access Control
- 作为雇员Tom,突破弱访问控制查看其它雇员的简介。
- 选择用户Tom进行登录,点击ViewProfile按钮向服务器发送查看Tom自己简介的请求。使用Burp进行拦截,分析拦截的GET请求报文,发现employee_id字段的参数为105。

- 随便修改employee_id字段的参数,比如107,发送GET请求报文后发现页面返回了雇员David的个人简介。

Stage 4: Add Data Layer Access Control
THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT
WebGoat系列实验Access Control Flaws的更多相关文章
- WebGoat系列实验Injection Flaws
WebGoat系列实验Injection Flaws Numeric SQL Injection 下列表单允许用户查看天气信息,尝试注入SQL语句显示所有天气信息. 选择一个位置的天气,如Columb ...
- WebGoat系列实验Authentication Flaws
WebGoat系列实验Authentication Flaws Forgot Password Web应用经常给用户提供取回密码的功能,但是许多应用的实现策略实现的很差,用于验证用户的信息非常简单. ...
- WebGoat系列实验Cross-Site Scripting (XSS)
WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...
- WebGoat系列实验AJAX Security
WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...
- WebGoat系列实验Denial of Service & Insecure Communication
WebGoat系列实验Denial of Service & Insecure Communication ZipBomb 服务器仅接收ZIP文件,将上传的文件解压,进行操作之后删除.已知服务 ...
- WebGoat系列实验Buffer Overflows & Code Quality & Concurrency
WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...
- Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...
- Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
<Windows Azure Platform 系列文章目录> 今天上午刚刚和客户沟通过,趁热打铁写一篇Blog. 熟悉Microsoft Azure平台的读者都知道,在老的Classic ...
- ccna 闫辉单臂路由 和 acl access control list
ccna 闫辉单臂路由 和 acl access control list 一单臂路由 当前园区网设计很少用到 成本低 小型的.局域网可用 二ACL acc ...
随机推荐
- java多线程并发去调用一个类的静态方法安全性探讨
java多线程并发去调用一个类的静态方法安全性探讨 转自:http://blog.csdn.net/weibin_6388/article/details/50750035 这篇文章主要讲多线程对 ...
- jQuery.extend()方法
定义和用法 jQuery.extend()函数用于将一个或多个对象的内容合并到目标对象. 注意: 1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略.此时,target就 ...
- linux下的时间
1.linux下时间管理机制: 在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现.为了保持系统时间与CMOS时间的一致性,Linux每隔11分钟会 ...
- JSF通过超链接传递参数到控制层
JSF通过超链接传输数据到控制层可以分为三个步骤: 1.首先将数据加入到超链接中.通过<h:link>标签加入一个超链接,然后加入<f:param>标签加入参数.示例代码如下: ...
- 使用Spring AMQP开发消费者应用
前一篇中我们介绍了使用RabbitMQ Java Client访问RabbitMQ的方法.但是使用这种方式访问RabbitMQ,开发者在程序中需要自己管理Connection,Channel对象,Co ...
- canvas路径绘制
惯例,先贴代码: 1 /** 2 * Created by Administrator on 2016/1/27. 3 */ 4 function draw (id){ 5 var canvas = ...
- FreeType 管理字形
转自:http://blog.csdn.net/hgl868/article/details/7254687 1.字形度量 顾名思义,字形度量是对应每一个字形的特定距离,以此描述如何对文本排版. ...
- python-xlrd 实现excel 导入数据
首先安装 xlrd 两种方式: 1.wheel 方式 安装: 首先要下载 wheel :
- C Primer Plus学习笔记(八)- 函数
函数简介 函数(function)是完成特定任务的独立程序代码单元 使用函数可以省去编写重复代码的苦差,函数能让程序更加模块化,提高程序代码的可读性,更方便后期修改.完善 #include <s ...
- 文件锁简单操作(lockfileEx\unlockfileEx)
#include "stdafx.h"#include <Windows.h>#include <iostream> using namespace std ...