web安全-越权
- 越权分为:平行越权和垂直越权
- 越权:你没有权力做你要做的事情,但是你成功了,就是越权。
- 平行越权:可以代替同一角色的用户进行操作。
- 垂直越权:代替执行不属于自己的权限的操作。
从PHP 新手开发角度来看
越权一般就是 没有做权限校验。
第一种 管理员可以看到的信息, 普通用户看不到,但是 开发认为url 骇客 不知道没有做用户权限校验。
第二种 相信前端发送的信息,并没有校验用户是否有权限修改其信息。通常是返回一个id 或者 昵称。 直接通过该字段进行修改。
第三种 多阶段校验没有记录,可以绕过直接修改。比如修改密码 第一步验证手机,发送验证码,等等校验 最后修改密码,但是如果没有存储前面校验的状态,就可以直接进行最后一步进行一个密码的修改。
总结
- 不要去相信前端的信息,重要的校验信息还是要在后端。及修改信息就只发送信息,后端通过id 修改。
- 去验证用户是否具有该权限。1.及修改发布的文章或者留言,用用户的id 和 文章id 做条件。2. 对url 做一个权限控制。
欢迎大家来补充