• 12
  • 12
分享
  • 学点大佬才懂的高级测试技术:怎样进行越权测试?——软件测试圈
  • 曼倩诙谐 2021-06-18 09:42:14 字数 1349 阅读 2168 收藏 12

  要了解越权测试,首先要先了解什么是越权攻击。

  越权攻击顾名思义就是超越了自己的权限范围,是指用户通过某种方式获取到了不属于自己的权限。越权攻击分为水平越权和垂直越权。

  下面我们先来说一下水平越权

  水平越权:攻击者尝试访问与他权限相同的用户资源。比如说在修改用户信息时,在浏览器上用户可以看到该用户的ID是多少,如下图:

2-1.png

  这里如果攻击者通过猜测或者其他途径获取到了其他用户的ID是多少,那么就可以在浏览器的地址栏里将ID直接换成要攻击的用户ID,就可以访问被攻击用户的用户信息并对其进行修改。

  再举一个例子,比如说一个用户在某网站上买了一件商品,但是地址填错了,要去修改地址。

2-2.png

  我们看到地址栏里也有订单号的ID,那么如果攻击者获取到了其他用户的订单号信息,就可以轻易的对订单信息进行修改。

  接下来我们再来说一下垂直越权

  垂直越权:是指攻击者尝试访问更高级的权限内容。

  比如用户A只有查看订单的权限,页面的URL如下图:

2-3.png

  用户B有查看订单的权限和查看账单的权限,URL如下:

2-4.png

2-5.png

  这种情况如果用户A猜测到了查看账单的路径,那么就可以直接通过访问路径的方法去访问账单。

  下面我们根据之前讲述的两种攻击方式的逻辑来写一下怎样进行越权测试。

  首先是水平越权测试,这里我们就需要先准备两个用户A和B,这两个用户有相同的用户权限。用用户A登陆系统去尝试获取或者修改用户B的信息,具体用例如下:

2-6.png

  接下来讲一下垂直越权测试,垂直越权测试也是需要准备两个用户C和D,这两个用户要有不同的用户权限,比如说A用户有编辑订单的权限,B用户没有,下面我们来设计一下测试用例:

2-7.png

  当然,现在好多网站为了安全起见,操作用户信息时,已经不在地址栏里显示这些敏感信息了,那如果不显示的话,越权测试我们该如何进行呢?

  下面我们再来说一下如何利用工具进行越权测试。这里我们使用到的工具是Burp Suite。

  首先我们用用户C登陆系统,然后将页面定位到编辑用户信息的页面,然后将Burp Suite切换到proxy,点击一下intercept is off,按钮变成intercept is on开始抓包。

2-8.png

  然后在编辑用户的页面,点击保存按钮,这时候我们就会抓取到一些数据,如下图:

2-9.png

  我们可以看到,这里有用户的id数据。我们需要将这段信息保存到Repeater供回放时使用。操作如下图:

2-10.png

  这个时候我们切换到Repeater就可以查看到我们之前抓取到的数据了。

  接下来我们通过F12去获取到用户D的id,或者是用上述同样的方式获取到用户D的id,将用户D的id,替换到我们保存到Repeater中的用户C的id,如下图:

2-11.png

  替换完成,点击“Go”,可在右侧查看执行的结果。

  那么如何根据执行的结果判断这里是否存在越权漏洞呢?

  执行的结果有两种,成功和失败。如果结果返回失败,那么我们可以认为这个地方不存在越权攻击的危险;如果结果返回成功,也有两种情况,一种是返回成功,用户D的信息确实被修改了,这种我们就可以认为这个地方存在越权的风险;另一种情况是返回成功,但是去查看用户D的信息时,并没有被修改,这种情况我们也可以认为是没有确认的风险。



作者:CICI   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   现在的宜家,越来越像美食UP主了。  大家对宜家最早的印象,无外乎是小红书千篇一律的极简风东欧性冷淡式家具,和特别适合拍照的线下门店。但在最近几年里,市场上来自宜家的声音越来越弱。  今年7月,“IKEA宜家风味屋”的抖音账号正式上线,该账号的认证主体为(宜家)中国投资有限公司,发布的视频以肉丸、牛排、松饼、各类蛋糕美食为主。IKEA宜家风味屋后续还尝试了直播带货,销量最高的是宜家瑞典风味餐厅的经典肉丸单人套餐,售价36.99元,目前已经迈出了3094份。  作为在中国布局多年的家居品牌来说,尝试美食视频可谓是破天荒的第一次,但也能看出宜家的窘迫处境。作为国际家居巨头,也需要通过线上的美食...
            0 0 566
            分享
          •   在利用Jmeter工具进行性能或自动化测试工作之初,第一步面临的交易想必就是登录。你可以运用控制器录制登录交易的脚本,或是通过自行配置环境、上送正确的用户名和密码完成登录操作,但这就算完成登录交易了么?事实是在继续配置后续交易之后,当你重复执行脚本时会发现,只有登录本身成功了,后续交易却报错。  产生这样的原因往往是当利用Jmeter首次录制登录交易后,此时有一个叫做token的值便作为固定参数存储在脚本中,而后置交易需依赖这个“令牌”而被系统所识别,而再次登录时,可能会返回不同的token,致使后续交易使用未匹配的token发给服务器,导致交易失败。  为解决这个问题,不得不分析toke...
            13 12 1888
            分享
          •   如果我们打算换一份新工作,会不会感到迷茫:我们要准备什么,只是投简历、面试那么简单吗?  No No No,如果你不认真对待,那么你可能连面试的机会都没有。  下面我们来说一下要准备什么,该如何准备。  做一份好的简历  最最重要的当然就是简历了,一份好的简历,可以给人的第一印象大大提升,招聘者决定是否要给你发面试邀请的时候,能参考的只有你的简历,那么我们如何准备一份高质量的简历呢?  基本信息  自己的基本信息一定要交代清楚,比如说姓名、年龄、性别、学历、证书等等,招聘者在看简历的时候,能尽快的了解你的基本信息,对你能有一个大体的了解,可以通过这些信息来判断你是否满足公司招聘的硬性条件,...
            0 0 813
            分享
          •   线性回归是机器学习中最基础的模型。虽然相较而言其结构简单且易理解,但其不仅能体现出机器学习重要的基本思想,还能构造出功能更加强大的非线性模型,对于后续机器学习算法的不断发展起了至关重要的作用。  在数理统计中,回归分析是确定多种变量间相互依赖的定量关系的方法。线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数。在众多回归分析的方法里,线性回归模型最易于拟合,其估计结果的统计特性也更容易确定,因而得到广泛应用。而在机器学习中,回归问题隐含了输入变量和输出变量均可连续取值的前提,因而利用线性回归模型可以对任意输入给出对输出的估计。  1875年,从事遗传问题研...
            13 13 888
            分享
          •   1.技术能力  1.1基础技能   首先,需要具备一定的计算机基础知识,如计算机的基本操作、软件的使用安装等,这是从事软件测试工作的必备的基本技能,在一定程度上也能提升测试工作的实施效率。  案例1:在测试过程中需要编写测试用例、测试报告等文档,需要操作Excel、word、xmind等文本文档,如何调整文档格式、换行、缩进等操作?  案例2:测试过程中会用到各种工具,有些工具是需要安装的,安装过程如何选择下一步,安装完毕之后做哪些配置等?  如何满足基本计算机技能?可以通过下列3个方法:  ·自己查阅资料学习基础技能  ·不断的练习总结  ·多和有计算机技能人沟通交流  1.2...
            11 11 933
            分享
      • 51testing软件测试圈微信