pikachu 越权漏洞

第八章 越权漏洞

1.越权漏洞原理及水平越权案例演示

   一般出现在登录态的页面上

  场景演示

 

 

 

  测试一下,看一下等点击查看个人信息时提交了什么内容到后台

   提交了一个get请求,把当前登录人的用户名传到了后台,后台把对应信息显示出来。

  我们尝试改一个名字

 

   显示出来

   当前登录的人是lucy,但是在lucy的登陆状态下能看到其他人的信息。

  查看一下后台代码

   通过GET方法获取到用户名,然后直接对用户名所对应的信息进行了查询,把它返回到前端。

  问题在于,这是一个登录态页面,只有登录的人才能看,而且应该规定登录的人只能看自己的信息无法看他人的信息。当点击个人信息查询时,后台除了获取用户名以外,还要还需要判断对应的请求是不是当前这个用户名发过来的。

2.垂直越权漏洞

  思路:

  先用超级管理员账号登录一下,登陆之后对超级管理员独一无二的权限(例如新增账号)进行执行,执行之后,把新增账号的这个数据包抓取下来,再退出超级管理员登录。

  这时切换到普通管理员权限上,把刚刚抓取的数据包用普通管理员身份进行重放。

  成功即代表有垂直越权漏洞。

  必测环节,尤其是在一些后台管理系统里面,有不同的权限。

  场景演示

  先登录超级管理员,添加一个用户,抓取一下数据包

 

 

 

   已添加好

  看一下数据包

   这个时候重放数据包,肯定可以成功,因为目前还是超级管理员登录的状态。我们要退出登录,再重放,此时直接重定向到登陆页面,且没有添加用户成功。登陆上普通的(只有查看权限)

 

 

   目前有一个yyy账号

   获取一下普通用户的登录cookie

   

  找到添加用户时的post请求,把这个的登录cookie换成普通用户的登录cookie。以普通用户的身份去操作超级管理员的操作。

  重放一下,点一下重定向

   跳到了登录态,刷新一下页面

   多出来一个账户。说明存在垂直越权漏洞。

  查看一下后台代码

   登陆这里没什么问题

   这里对登录态有一个判断,只有登录之后才能访问,这个没有问题。

  但是验证登录态的时候出现了问题

   这里,只是通过筛选取到了用户名和密码,只是判断了当前的用户有没有登录,但是并没有判断当前用户的权限是什么。

  在这里后面还要继续判断,用户的级别等不等于1,如果不等于不让操作,等于才让操作。

原文地址:https://www.cnblogs.com/zhaihuijie/p/12659930.html