
介绍: 水平权限攻击,也叫做访问控制攻击,服务器在接收到用户请求,修改某条数据时,没有对请求者进行检查,或者只是简单的从用户提交的表单中获取 userid, 导致攻击者可以修改不属于自己的数据。在所有更新语句中,都可能产生这个漏洞
攻击:
示例: 服务器从用户提交的表单中获取发送请求的请求者 userid , 一般都是隐藏域,但是我们可以拦截请求包对 useid 数据进行修改,从而可以修改不属于的自己的信息
防御:
从用户的加密认证的 cookie 中获取当前用户的 id, 并且在执行的 sql 语句中加入当前用户的 id 作为条件语句,由于 cookie 是加密的,所以攻击者无法修改加密信息
介绍: 垂直权限攻击又叫权限提升攻击,原理是 WEB 应用没有做权限控制或仅仅只在菜单上做了权限通知,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
攻击:
示例:
<tr><td><a href="/user.jsp">管理个人信息a>td>tr>
<%if (power.indexOf("administrators")>-1){%>
<tr><td><a href="/userlist.jsp">管理所有用户a>td>tr>
<%}%>
攻击者只需要猜中管理所有用户的页面url就可以越权操作了。
防御:
只需要在每个页面加载之前进行权限验证
写的很好,自己总结也是 CV ,就不浪费篇幅了
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录状态,大概流程如下: