zoukankan      html  css  js  c++  java
  • pikachu 越权漏洞

    第八章 越权漏洞

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

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

      场景演示

     

     

     

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

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

      我们尝试改一个名字

     

       显示出来

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

      查看一下后台代码

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

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

    2.垂直越权漏洞

      思路:

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

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

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

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

      场景演示

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

     

     

     

       已添加好

      看一下数据包

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

     

     

       目前有一个yyy账号

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

       

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

      重放一下,点一下重定向

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

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

      查看一下后台代码

       登陆这里没什么问题

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

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

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

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

  • 相关阅读:
    Bootstrap组件---nav(导航条)
    (2)基于Bootstrap的网页开发
    Bootstrap组件简要汇总解析(不定期更新)
    知识碎片(长期更新)
    DOM中document对象的常用属性方法总结
    IE678如何兼容css3圆角属性
    17年面试问题总结
    0.1 js复习
    Basic knowledge about energy field
    BDA: single parameter models
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12659930.html
Copyright © 2011-2022 走看看