WebGoat靶场系列---Access Control Flaws(访问控制缺陷)

访问控制缺陷,未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,访问控制缺陷有基于角色的,也有基于路径的,例如:访问其他用户的帐户,查看敏感文件,修改其他用户的数据,更改访问权限等。

0x00 Using an Access Control Matrix(使用访问控制矩阵)

目标:找到可以访问Account Manager的管理员组成员

首先 select resource选择Account Manager 然后依次选择Change user 就可以了,

最后结果是Larry。

0x01 Bypass a Path Based Access Control Scheme(绕过基于路径的访问控制方案)

这是一个基于路径的访问控制方案,攻击者可以通过提供相对路径信息遍历路径.因此,攻击者可以使用相对路径访问那些通常任何人都不能直接访问或直接请求就会被拒绝的文件。

目标:用户访问到不在列表的目录文件,在这里,我们需要找到对应的.xml文件来通关,由于启动方式的不同,文件路径也不一定相同。

1.首先,先确定一下当前路径和目标路径(经查证,我这里的目标路径给错了,应该是tomcat6/conf/tomcat-user.xml)

2.然后使用Burpsuite抓包,然后修改一下File部分,将OffByOne.html修改为: ../../../../../../../../../var/lib/tomcat6/conf/tomcat-users.xml(注意自己的路径,此处不唯一)然后点击Forward放行数据包即可通关。

0x02 Role Based Access Control(基于角色的访问控制)

分为以下四个阶段:

在基于角色的访问控制方案中,角色代表了一组维持访问权限和特权,一个用户可以被分配一个或多个角色基于角色的访问控制方案,通常有两部分组成,角色权限管理和角色分配,当存在基于角色的访问控制缺陷时,可能会允许他执行本不属于自己的角色的权限或以某种方式将自己权限进行升级。

1.Bypass Business Layer Access Control(绕过业务层访问控制)

需要做的就是绕过权限控制,删除自己的信息

注意:登陆密码是名字的小写(英语习惯名字在前,姓氏在后所以Larry Stooge的密码为larry)

(a)首先,进入管理员账号,发现删除的命令是DeleteProfile

(b)然后,进入到Larry Stooge的账户,并打开Burpsuite抓包

(c)点击ViewProfile,然后用Burpsuite拦截

(d)修改action参数为DeleteProfile,然后点击Forward放行

2.Add Business Layer Access Control(添加业务层访问控制)

需要WebCoat开发版,打说算直接去虚拟机改,死活找不到路径在哪,只能跳过了。

3.Bypass Data Layer Access Control(绕过数据层访问控制)

利用弱访问控制,查看其它员工的个人资料

(a)通过登录不同用户,发现用户名依靠employee_id来传输。

(b)所以,可以通过抓包,改包,来修改employee_id来控制。

(c)Add Data Layer Access Control(添加数据层访问控制)

需要WebCoat开发版,准备直接去OWASP的虚拟机改的我,死活找不到路径在哪,只能跳过了。

(d)Remote Admin Access(远程管理访问)

本来想通过URL地址admin界面,但是却是各种404,后来不经意的一瞥发现左下角位置有个admin,就点了进去,然后………然后…….然后….居然过了!!

作者:小英雄宋人头

来源:Ms08067安全实验室

原文发布于微信公众号 - Ms08067安全实验室(Ms08067_com)

原文发表时间:2019-04-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券