WebGoat学习笔记一---Access Control Flaws

本文详细介绍了如何使用WebScarab工具绕过WebGoat中的基于路径的访问控制方案,并通过一系列实验步骤成功实现了访问受限资源、修改用户权限、以及越权访问他人资料等操作。
 

l  Using anAccess Control Matrix

不同的用户访问权限不相同,题目要求我们找到能够访问AccountManager非管理员用户,那么我们只需要尝试userresoure的组合就可以了,经过尝试,发现Larry用户的身份是 [User, Manager],却可以访问Account Manager

l  Bypass a PathBased Access Control Scheme

在列表中是我们能够访问的文件,题目要求我们访问tomcat/conf/tomcat-users.xml

这里我们需要使用WebScarab 工具,打开WebScarab 工具,发现她监听的端口是8008,我们需要设置浏览器的代理,让他的请求都转发到webscarab中(具体设置就不说了)

然后打开webscarab控制台,在intercept中把所有方法都选中,不过这里只用到了post

 

接着在文件列表中随便点击一个文件,点击view file按钮,立刻弹出Edit Request窗口

经过观察,发现File的值正好是我刚刚请求的文件

所以可以通过将File的值改为我们要访问的文件的路径来访问该文件,而此时我们是在WebGoat-5.3_RC1\tomcat\webapps\webgoat\lesson_plans\English目录下,我们要访问tomcat/conf/tomcat-users.xml,所以要将File的值改为../../../../conf/tomcat-users.xml

 

点击Accept changes

 成功

l  LAB: RoleBased Access Control

Ø  Stage 1:Bypass Business Layer Access Control

题目要求我们使用tom的账户登录,让它拥有删除的权限,而tom本身是不具备删除的权限的,我用tom的账号登录后,发现tom的确是没有删除的权限的

接着,我继续使用其他人的账号登录,发现Jerry拥有删除的权限



我点击DeleteProfile,使用webscarab抓包,在弹出的请求中发现action的值为DeleteProfile

然后我重新用tom的账号登录,选择列表中的tom,点击searchStaff

action的值改为DeleteProfile,点击accept changes

成功删除tom的信息

 

Ø  Stage 2: AddBusiness Layer Access Control

此题目叫我们修复上一步发现的漏洞,这道题需要developer版的webgoat,我在网上没找到,就没做。应该是要在服务器端加一个验证,在调用DeleteProfile action时对用户进行权限验证。


Ø  Stage 3:Bypass Data Layer Access Control

此题目叫我们让tom的账户能够看到其他人的profile

选择tom cat,点击viewProfile,使用代理查看请求信息

 

 

可以看到请求中有一个employee_id的参数,将他的值该成其他值,例如106,点击accept,这样我就看到了jerryprofile

Ø  Stage 4: AddData Layer Access Control

此题和stage2同理

l  Remote AdminAccess

url后面加上&admin=true,这样可以看到左边admin function多了几个选项

我点击user information,又回复了原来的权限。重复上述操作,将鼠标停靠在user information上面,显示的url为:

http://localhost.:8080/webgoat/attack?Screen=205&menu=2000

接着将url改为

http://localhost.:8080/webgoat/attack?Screen=205&menu=2000&admin=true

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值