当前位置: 代码迷 >> 综合 >> pikachu+Over permission
  详细解决方案

pikachu+Over permission

热度:36   发布时间:2023-11-29 13:12:08.0

目录

7.1 水平越权

7.2 垂直越权


7.1 水平越权

打开是一个登录界面,如图7.1.1

图7.1.1

根据提示,给出了三个账户,如图7.1.2

 图7.1.2

登录第一个,如图7.1.3

图7.1.3

点击查看个人信息,如图7.1.4

图7.1.4

注意到上图中url的参数username的值是用户名lucy,那么会不会该参数值是哪个用户名就回显哪个用户的信息呢?

payloadhttp://ip:port/pikachu/vul/overpermission/op1/op1_mem.php?username=kobe&submit=点击查看个人信息,如图7.1.5

成功看到kobe的个人信息,lili也是一样,就不演示了

图7.1.5

7.2 垂直越权

打开界面,同样是一个登录界面,如图7.2.1

图7.2.1

 

通过提示,给出了两个账户,如图7.2.2

图7.2.2

尝试登录普通用户 pikachu/000000 ,用户界面可以有查看的权限,查看存在的用户信息,如图7.2.3

图7.2.3

尝试登录超级用户 admin/123456,可以看到超级用户除了可以查看用户信息,还可以添加用户,如图7.2.4

图7.2.4 

尝试在超级用户界面添加用户,点击创建,用 burp 抓下这个 post 请求的数据包,如图7.2.5

图7.2.5

 

然后点击 action 把这个包发送到 Repeater 模块。这个时候Repeater 模块就会把这个包保留下来,如图7.2.6

图7.2.6

回到 Proxy 代理界面,点击取消拦截数据包。那么刚刚那个创建用户的 post 请求就会发送出去。可以看到我们是利用超级用户 admin 创建了一个用户,如图7.2.7

图7.2.7

接下来退出 admin 用户,登录普通用户 pikachu 。在点击登录的时候用 burp 拦截,对 pikachu 的登录信息进行抓包。因为我们要用到 pikachu 这个普通用户的 cookie 登录信息。如图7.2.8

图7.2.8

 

我们把 Repeater 模块上的超级用户 的 cookie 替换成刚抓到的 pikachu 登录信息的cookie 。这里要先把 Proxy 界面的拦截数据包关闭,关闭后页面就进入了普通用户 pikachu 的登录界面。然后在 Repeater 界面点击 Send 发送,会出现一个 Follow redirection 的按钮,点击进行重定向。如图7.2.9

图7.2.9

此时我们回到 pikachu 的用户界面,看到多了一个添加的用户。第一个是前面用超级用户 admin 的登录权限添加的。第二个是刚刚用普通用户 pikachu 的登录状态越权添加的。如图7.2.10

图7.2.10

后台没有判断我们发送的数据包的用户权限。直接执行了,造成了垂直越权漏洞。

  相关解决方案