Web安全之越权操作:横向越权与纵向越权

Posted 霍莉雪特

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Web安全之越权操作:横向越权与纵向越权的主要内容,如果未能解决你的问题,请参考以下文章

横向越权测试—安全漏洞

web安全逻辑越权水平垂直&Burp插件项目

八漏洞原理及利用越权 笔记以及靶场

数据越权,数据一致性问题

数据越权,数据一致性问题

业务安全-02业务逻辑漏洞之越权操作