1、原理
未对通过身份验证的用户实施恰当的访问控制,攻击者可以利用这些缺陷访问未经授权的功能或数据。通常一个已经授权的用户,通过更改访问时的一个参数,从而访问到了原本其并没有得到授权的对象。
2、典型案例
主要存在两种场景:
- 越权:横向越权、纵向越权
- 文件操作:文件上传、文件包含、任意文件下载、任意文件删除。
3、防范方法
- 使用非直接的对象引用——这防止了攻击者直接访问其井未授权的对象,通过一种mapping 或是其他的方法让攻击者无法直接访问
- 检查访问——对每一个来自于不信任的源的直接对象引用都必须包含访问控制检查, 从而确信该用户对该对象拥有访问权。
- 如果这个URL 不是公开的, 那么必须限制能够访问他的授权用户
- 完全禁止访问未被授权的页面类型( 如配置文件、日志文件、源文件等)