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

最新文章

  1. 使用Birt开发报表
  2. Spring注解@Component、@Repository、@Service、@Controller区别 .
  3. yii使用MongoDB作为数据库服务软件[win7环境下](2)
  4. redsocks 配合iptables设置全局sockts5代理
  5. 洛谷 P1428 小鱼比可爱
  6. fltk demo
  7. Activitys, Threads, & Memory Leaks
  8. Java线程--interrupt join yield setDaemon常用方法的使用
  9. 02-windows 安装以太坊 ethereum 客户端 (win7-64)-大叔思维
  10. linux 下文件误删恢复
  11. es6 let 和 const
  12. kali源更新
  13. python之进程和线程
  14. WMS专业术语&系统功能操作培训
  15. 迪杰斯特拉算法dijkstra(可打印最短路径)
  16. FireDAC 下的 Sqlite [6] - 加密
  17. Python3中isdigit(), isdecimal(), isnumeric()的区别和字符串的常用方法
  18. CNN中tensorboard数据可视化
  19. 测试驱动开发 VS 行为驱动开发
  20. CF 314 E. Sereja and Squares

热门文章

  1. 2017.10.4北京清北综合强化班DAY4
  2. Java 虚拟机-Java内存区域
  3. PIX v2版本中Query 失败时, ERR段的构造
  4. Azure上采用Json Template从已有的VHD创建VM
  5. laravel csrf保护
  6. (二 )结构ztree的 ajax交互的简单使用
  7. hihoCoder#1181(欧拉路径)
  8. minidump-DMP文件的生成和使用
  9. LTE-V2X车联网无线通信技术发展
  10. 1 ignite核心特性