权限
权限升级
权限升级攻击可分为两种:垂直升级和水平升级。
垂直升级
攻击者可以获取大于他们权限的账号。如获取root账号权限等。
水平扩展
攻击者可以访问同等权限的其他账号。
控制访问
为了阻止权限攻击,你需要加强所有敏感权限的资源,建立控制访问策略,其考虑的因素如下:
- 认证
- 授权
- 权限检查
设计一个授权模型
- ACL(Access Control Lists)
- 黑名单,白名单
- 基于角色的访问控制。
- 基于拥有权的访问控制。
添加审计日志追踪
目录遍历攻击
如果你的目录包含了描述文件路径的参数,那么攻击者有可能使用目录遍历攻击穿透你的控制访问规则。如访问一个pdf的URL为example.com/menus?menu=
show.pdf
。那么攻击者可能通过如下路径访问到你的账号信息:example.com/menus?menu=../../../../etc/passwd
。
解决方案1
使用服务器内建的url解析逻辑,他们经常经过了线上的测试,比我们自己编写的URL解析逻辑更加安全。
解决方案2
使用间接文件引用,使用间接的路径而不是直接的文件路径构建URL。如使用ID访问每个资源。