WebGoat系列实验Access Control Flaws

Using an Access Control Matrix

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

Bypass a Path Based Access Control Scheme

  1. “guest”用户可以访问lessonPlans/en目录下所有文件。尝试打破访问控制策略并获取其他目录下的资源。本实验需要获取WEB-INF/spring-security.xml文件。
  2. 选择BackDoors.html文件,点击View File按钮,显示消息如下,表明可以正常访问当前目录下的文件。
  3. 设置代理端口,并使用Burp开启拦截http请求报文。再次选择BackDoors.html文件,点击View File按钮,此时可以获取到GET请求报文。
  4. 经过尝试,把BackDoors.html修改为../../../../../WEB-INF/spring-security.xml之后可以成功访问。

LAB: Role Based Access Control

Stage 1: Bypass Presentational Layer Access Control.

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

  1. 作为雇员Tom,突破弱访问控制查看其它雇员的简介。
  2. 选择用户Tom进行登录,点击ViewProfile按钮向服务器发送查看Tom自己简介的请求。使用Burp进行拦截,分析拦截的GET请求报文,发现employee_id字段的参数为105。
  3. 随便修改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的更多相关文章

  1. WebGoat系列实验Injection Flaws

    WebGoat系列实验Injection Flaws Numeric SQL Injection 下列表单允许用户查看天气信息,尝试注入SQL语句显示所有天气信息. 选择一个位置的天气,如Columb ...

  2. WebGoat系列实验Authentication Flaws

    WebGoat系列实验Authentication Flaws Forgot Password Web应用经常给用户提供取回密码的功能,但是许多应用的实现策略实现的很差,用于验证用户的信息非常简单. ...

  3. WebGoat系列实验Cross-Site Scripting (XSS)

    WebGoat系列实验Cross-Site Scripting (XSS) PhishingTitle 本次实验是在一个已知存在XSS漏洞的页面进行钓鱼攻击.通过使用XSS与HTML注入,在页面中注入 ...

  4. WebGoat系列实验AJAX Security

    WebGoat系列实验AJAX Security DOM Injiction 实验对象是一个接受激活密钥后允许你访问的系统,实验目标是尝试将激活按钮变得可以点击. 直接修改页面代码激活按钮,Chrom ...

  5. WebGoat系列实验Denial of Service & Insecure Communication

    WebGoat系列实验Denial of Service & Insecure Communication ZipBomb 服务器仅接收ZIP文件,将上传的文件解压,进行操作之后删除.已知服务 ...

  6. WebGoat系列实验Buffer Overflows & Code Quality & Concurrency

    WebGoat系列实验Buffer Overflows & Code Quality & Concurrency Off-by-One Overflows 实验需要访问OWASP Ho ...

  7. Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...

  8. Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role

    <Windows Azure Platform 系列文章目录> 今天上午刚刚和客户沟通过,趁热打铁写一篇Blog. 熟悉Microsoft Azure平台的读者都知道,在老的Classic ...

  9. ccna 闫辉单臂路由 和 acl access control list

    ccna 闫辉单臂路由 和  acl   access control list 一单臂路由     当前园区网设计很少用到       成本低  小型的.局域网可用         二ACL acc ...

随机推荐

  1. HihoCoder1445 重复旋律5(后缀自动机)

    重复旋律5 时间限制:10000ms 单点时限:2000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为一段数构成的数列. 现在小Hi想知道一部作品 ...

  2. 网络爬虫必备知识之concurrent.futures库

    就库的范围,个人认为网络爬虫必备库知识包括urllib.requests.re.BeautifulSoup.concurrent.futures,接下来将结对concurrent.futures库的使 ...

  3. hawq创建filespace,tablespace,database,table

    使用HAWQ   在HAWQ的使用上跟Greenplum基本就一样一样的了.比如:   1. 创建表空间 #选创建filespace,生成配置文件 [gpadmin@master ~]$ hawq f ...

  4. ecshop彻底去版权把信息修改成自己的全教程

    前台部分: 一.去掉头部title部分的ECSHOP演示站-Powered by ecshop 1.问题:“ECSHOP演示站”方法:在后台商店设置 – 商店标题修改2.问题:“ Powered by ...

  5. XSS与CSRF攻击

    一.XSS Cross Site Script,跨站脚本攻击.是指攻击者在网站上注入恶意客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一 ...

  6. 【转】S1 Setup

    概念 S1是eNB和MME之间交换应用层配置数据的接口的名称.它是在建立TNL完成后的第一个S1AP的操作,S1的建立意味着eNB和MME之间之前已经存在的所有应用层数据将被全部清空,所有的数据将被重 ...

  7. JPA,EclipseLink 缓存机制学习——树节点搜索问题引发的思考

    最近在项目在使用JPA+EclipseLink 的方式进行开发,其中EclipseLink使用版本为2.5.1.遇到一些缓存方面使用不当造成的问题,从本篇开始逐步学习EclipseLink的缓存机制. ...

  8. $route路由

    <!DOCTYPE html><html ng-app="AngularApp"> <head> <meta charset=" ...

  9. spring--AOP--日志---demo1---bai

    AOP日志DEMO1: 实体类: package com.etc.entity; import org.aspectj.lang.annotation.Pointcut; public class U ...

  10. Byte和byte[]数组

    Byte和byte[]数组,“表示一个 8 位无符号整数, 一般为8位二进制数”. Byte是计算机最基础的存储单位和最基础的通讯单位. 而所有的类型都是支持由byte[]类型转换而来. 为什么说By ...