Webgoat--访问控制缺陷

不安全的直接对象引用 (IDOR水平权限越权)

  • 定义

不安全的直接对象引用(IDOR)允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数据库条目以及服务器系统中的隐私文件等等。
应用程序在SQL查询语句中直接使用了未经测试的数据,而攻击者可以利用这一点来访问数据库中的其他账号数据。

  • 出现原因
    Web应用往往在生成Web页面时会用它的真实名字,且并不会对所有的目标对象访问时来检查用户权限,所以这就造成了不安全的对象直接引用的漏洞。
    服务器上的具体文件名、路径或数据库关键字等内部资源被暴露在URL或网页中,攻击者可以尝试直接访问其他资源。

缺失功能级访问控制(垂直权限 提权)

在应用程序中,常常会将用户分为不同的用户角色,不同的角色可以进行不同权限的操作。当在逻辑代码中未妥善处理,可能导致低权限的角色用户可以调用高权限角色用户的接口,导致用户提权

利用方法

修改提交的参数
暴力破解猜测同级的用户
使用PUT提交修改个人信息

防御方法

1.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
2.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击未授权资源
3.避免在url或网页中直接引用内部文件名或数据库关键字
4.验证用户输入和url请求,拒绝包含./ …/的请求
5.在应用程序业务层添加用户水平权限验证,防止角色平级用户之间数据越权访问
6.在应用程序业务层添加用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值