【Web安全】越权操作——横向越权与纵向越权

参考:http://blog.csdn.net/github_39104978/article/details/78265433

看了上面的文章,对越权操作的概念还是比较模糊,不明确实际场景。

横向越权的情况:
用户登录模块中,假设用户在忘记密码(未登录)时,想要重置密码。假设接口设计为传参只用传用户名和新的密码。

localhost:8080/user/forget_reset_password.do?username=aaa&passwordNew=xxx
用户先通过密码提示问题并回答问题成功后,跳转到重置密码的页面。该页面下攻击者在浏览器中查看到重置密码的接口后,可以输入任意用户名和密码后提交,如果输入的用户名存在的话就会导致别的用户被修改了密码!同样是普通用户的权限,修改了其他普通用户的信息,这种功能情况即是横向越权。

为了避免以上横向越权的行为,常用办法是在用户回答密码提示问题正确后,服务端随机生成一个Token值返回,并给Token设置过期时间(如30分钟),然后重置密码的接口中要求前端传递该Token,即可确保是当前用户修改自己的密码了。

重置密码的接口改为

localhost:8080/user/forget_reset_password.do?username=aaa&passwordNew=xxx&forgetToken=531ef4b4-9663-4e6d-9a20-fb56367446a5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值