学习笔记一"/>
WebGoat学习笔记一
l Using anAccess Control Matrix
不同的用户访问权限不相同,题目要求我们找到能够访问AccountManager非管理员用户,那么我们只需要尝试user和resoure的组合就可以了,经过尝试,发现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,这样我就看到了jerry的profile
Ø 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
更多推荐
WebGoat学习笔记一
发布评论