使用burp suite或fiddler进行越权测试(安全测试)的步骤

一、什么是越权漏洞?它是如何产生的?

越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可控制全站用户数据。当然这些数据仅限于存在漏洞功能对应的数据。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定。所以测试越权就是和开发人员拼细心的过程。

二、越权漏洞的分类?

主要分为水平越权和垂直越权根据我们的业务通俗的表达一下这两者的区别:

水平越权:两个不同的公司A和B通过修改请求公司A可以任意修改B公司的员工、部门、考勤等信息;

垂直越权:同一个公司不同权限的管理员A和B通过修改请求管理员A可以修改不在他管辖范围内的员工的部门、考勤、工资等信息;

三、测试越权漏洞需要用到哪些工具?

实战一:Burp Suite强烈建议用1.7的免费版(1.6破解版的https证书配置容易出问题)-->链接: https://pan.baidu.com/s/1kgKOQj3t3hJZD8m_vPNbrQ

实战二:fiddler+chrome+SwitchyOmega插件(建议使用此款工具)

四、如何查找越权漏洞?

在与服务器进行数据交互时客户端携带着标识用户的身份的cookie当服务端的session与cookie中的身份匹配成功后才能允许该用户进行相关操作(cookie和session的关系-->一弹二弹)。除了cookie之外在请求中可能会带一些参数细览下可能存在辨别信息的唯一值来进行测试。这里要说一点传输的参数并不一定在请求参数中也有可能存在链接等位置。当拦截一个请求后分析是否有参数:

1、请求中不存在参数只用cookie进行身份验证不可越权;

2、请求中存在参数并且参数中的某些值可能是辨别信息的唯一值(如employeeID、departmentID、ID等)可能存在越权;越权的原因是参数中的employeeID没有判断是否是cookie中用户所管辖的员工ID。

五、实战演练(Burp Suite)

  1. 下载安装burpsuite

    burpsuite需要java运行环境所以必须先安装JDK并配置好环境变量-->JDK下载及环境变量配置教程
    配置好环境后双击.jar文件弹出窗口无脑直接点击next即可打开(如果需要加载配置文件才需要勾选其他选项);切换到proxy模块点击一下intercept is on按钮停止拦截数据。如图1
  2. 给浏览器安装证书用以访问https

  3. 首先打开firefox在地址栏输入burpsuite的默认监听地址及端口127.0.0.1:8080点击CA Certificate下载并保存证书cacert.der如图二

  4. 接着依次点击firefox的菜单->选项->高级->证书->查看证书->证书机构->导入选择刚才下载的cacert.der在弹出的窗口中勾选“信任此CA标识的网站”最后点击确定如图三。

  5. 打开待测网站拦截对应操作的请求数据

     寻找网站中可以对数据进行增删改查的地方比如我们要测试一下调整年假的操作是否存在越权时先操作修改年假数量然后在点击保存之前打开intercept的拦截开关最后再点击确定按钮就会拦截到请求数据如图四

  6. 分析该请求是否有越权的可能

     从拦截到的请求中我们可以看出修改年假的操作使用的是POST请求调用了接口/attendance/ajax-save-annual-adjust-days并传递了参数employeeId、year、adjustDays。在这三个参数中明显可以看出employeeId是判断该条请求身份的参数虽然cookie中存在QJYDID、WAVESSID、JSESSIONID等身份验证但是如果开发人员没有判断这个employeeId是否是该cookie身份所在公司下的员工时就会存在越权漏洞导致修改任意employeeId就能操作年假的修改不需要所属公司的限制。

  7. 把可能存在的越权的请求发送到repeater备用

    repeater模块的功能就是对请求进行重放(repeat:重复)重放前我们可以对请求和参数任意修改。(直接在intercept模块修改参数再点击forward放行也是可以的)
    在请求数据页面点击右键选择“Send to Repeater”该请求自动复制到repeater模块如图五
  8. 关闭intercept的拦截开关点击“intercept is on”后开关变为“intercept is off”就是关闭了

  9. 修改参数employeeId后重放请求

    再打开一个firefox的隐身窗口(小技巧:firefox的普通窗口和隐私窗口不同源可以分别登录两个公司方便操作和查看用公司B登录;刚才用普通窗口登录的是公司A拦截请求时的employeeId是属于公司A的员工A01;我们可以通过浏览器自带的调试工具或同样的拦截方法获取一下公司B的员工B01的employeeId。把burpsuite切换到repeater模块修改参数为员工B01的employeeId点击GO如下图
        查看这条返回数据的状态是truemessage信息内容是“数据保存成功”然后查看公司B的员工B01的年假是否显示我们请求时填写的99。
    如果B公司的员工B01的年假显示为99:越权成功我们用公司A的请求身份成功的修改了B公司员工B01的年假;
    如果B公司的员工B01的年假没有变化:虽然返回数据显示成功但是没有改变数值这可以看做不存在越权漏洞(注意业务逻辑修改的是12月份的数据但当前报表展示的是11月份的);

  10. 解决重放请求的返回数据中文乱码

    �0�2 �0�2 �0�2 �0�2 软件内目前不能直接转码毕竟这款工具是歪果仁开发的我们只能间接的查看乱码的中文。在response中右键选择“request in browser->in original session”复制弹出窗口的链接到firefox浏览器打开即可正确显示中文内容。

  11. 上面我们进行了水平越权的测试想一想垂直越权怎么做呢?

    水平越权是测试不同公司之间是否可以互相操作垂直越权是测试同一公司不同权限的管理员是否可以操作不属于他管辖范围内的员工等。
    大概说一下垂直越权测试流程感兴趣的童鞋可以尝试一下:
    事业部管理员操作员工年假修改拦截到请求后把employeeId改成属于这个公司但是不属于这个事业部的员工查看是否可以修改成功。(温馨提示:目前事业部没有做越权校验可以操作所有员工适合上手练习)
    勤权限管理员登录并修改员工年假拦截请求并添加到repeater;公告权限管理员登录获取cookie数据;回放请求时换成公告权限管理员的cookie查看是否可以修改成功。

 

六、实战演练(Fiddler)

 

  1. 安装并配置fiddler

    打开fiddler按照下图所示进行设置

    进入设置页面Tools->Fiddler Options


配置筛选器方便拦截我们需要的数据

 

2、安装chrome的浏览器插件方便切换浏览器代理

打开chrome后直接把后缀为.crx的文件拖拽到浏览器里插件会自动安装然后进行如下设置:


插件使用技巧->开启和关闭fiddler代理


插件使用技巧->让chrome的隐身窗口也可以使用代理
设置-更多工具-扩展程序勾选SwitchyOmega插件的在隐身模式启用

3、打开两个chrome窗口一个为普通模式一个为隐身模式分别登录两个不同的公司账号拦截操作接口进行分析

查看修改参数后的请求的返回结果并在系统中进行手动操作的验证。

六、Fiddler与Burp Suite的优缺点

1、burp不支持中文,返回值的存在中文时会出现乱码,需要通过浏览器查看返回值的中文信息;

2、fiddler可以通过颜色来标记接口,burp不支持标记,但它可以把该请求发送到重放列表里进行操作,在列表中需要记忆第几个是公司A的接口,第几个是公司B的接口;

3、由于我们系统是基于chrome浏览器开发的并且使用https的安全通信协议,burp对这两项支持的不太好;

4、如果纯做数据拦截推荐fiddler,如果需要做爆破渗透推荐burp。

 

摘自:https://blog.csdn.net/zhengshengnan123/article/details/66472180/

您好!对于Burp Suite测试越权问题,我可以为您提供一些基本信息和建议。 越权漏洞是一种常见的安全漏洞,它会使攻击者能够执行未经授权的操作或访问敏感信息。在使用Burp Suite进行越权测试时,您可以采取以下步骤: 1. 了解应用程序的授权机制:在测试之前,您需要对目标应用程序的身份验证和授权机制有所了解。这包括了解用户角色、权限验证流程以及任何可能存在的安全漏洞。 2. 识别越权点:通过使用Burp Suite进行主动和被动扫描,可以帮助您识别潜在的越权点。主动扫描可以模拟攻击并发现可能存在的问题,而被动扫描则可以检测到应用程序中的隐含问题。 3. 模拟攻击:使用Burp Suite的各种功能模块和插件,例如Intruder、Repeater和Sequencer等,来模拟攻击并测试越权漏洞。 4. 分析和验证:一旦发现潜在的越权漏洞,您可以使用Burp Suite的分析和验证工具来确认漏洞的存在以及其可能的危害程度。 5. 报告和修复:最后,将您的发现整理成一份详细的报告,并将其交给相关的开发人员或安全团队。他们可以根据您的报告来修复越权漏洞,并采取适当的预防措施。 需要注意的是,越权测试应该在合法的环境中进行,并获得相关授权来测试目标应用程序。同时,遵循良好的道德规范,并确保您不会对目标系统造成任何实质性的损害或违法行为。 希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值