0x00 概念

越权漏洞 : 由于服务器端对用户的权限检测不严格,使得攻击者可以绕过权限控制,执行一些本不被允许的操作。属于逻辑漏洞。

越权分为:

1、垂直越权 : 指低权限执行了高权限的操作, 例如普通用户执行了管理员权限的操作。

2、平行越权 : 指同一权限下不被允许的操作,例如普通用户修改其他用户的账号信息。

3、交叉越权 : 既有垂直越权,又有平行越权。

0x01 如何寻找

越权漏洞常发生在一些订单页面、资料修改、找回密码、登录页面等地方。

在POST、Cookie、GET传参中,注意具有身份识别的参数,如userid、ID、user、uid等

除了web端,还有移动端,包括网页、app、小程序等。

0x02 实战靶场

越权漏洞1.png

先注册两个账户testa、testb验证水平越权

testa密码:123456 testb密码:asdasd

先登录testa、抓包

发现testa的传参中有一个Userid参数为64

越权漏洞2.png

同样方法获取testb的Userid为65

在testa账户登录时点击修改资料,抓包

越权漏洞3.png

并把Userid的值修改为65

越权漏洞4.png

放包发现修改资料是testb账户的内容

越权漏洞5.png

在密码栏填写123456,点击修改,抓包

越权漏洞6.png

同样修改Userid的值为65

越权漏洞7.png

越权漏洞8.png

接下来用testb 123456登录,验证水平越权

越权漏洞9.png

然后用testa账户实现管理员权限验证垂直越权

在testa登录时点击修改资料,抓包

修改传参shenfen、admin、Userid的值为1

越权漏洞10.png

放包发现testa的资料显示已经是管理员

越权漏洞11.png

并且功能栏已经多了一个后台管理

越权漏洞12.png

点击后台管理,修改COOKIE中的传参shenfen、admin、Userid的值为1就可以以管理员权限访问后台

越权漏洞13.png

0x03 防御措施

1、检查权限认证,限制页面可访问的对象

2、加强Cookie验证,关键参数进行加密