【逻辑漏洞】基于BurpSuite的越权测试实战教程

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

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

二、越权漏洞的分类?

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

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

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

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

推荐一:【BurpSuite】+【firefox】

推荐二:【fiddler】+【fiddler】+【SwitchyOmega】

推荐的这两套工具都可以完成越权测试,用哪个都可以。

四、如何查找越权漏洞?

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

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

    首先打开firefox,在地址栏输入burpsuite的默认监听地址及端口127.0.0.1:8080,点击CA Certificate下载并保存证书cacert.der,如图二
            接着依次点击firefox的菜单->选项->高级->证书->查看证书->证书机构->导入,选择刚才下载的cacert.der,在弹出的窗口中勾选“信任此CA标识的网站”,最后点击确定,如图三。

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

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

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

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

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

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

  6. 关闭intercept的拦截开关,点击“intercept is on”后开关变为“intercept is off”就是关闭了


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

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

  8. 解决中文乱码

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

            水平越权是测试不同公司之间是否可以互相操作,垂直越权是测试同一公司不同权限的管理员是否可以操作不属于他管辖范围内的员工等。
            大概说一下垂直越权测试流程,感兴趣的童鞋可以尝试一下:
            ◆事业部管理员操作员工年假修改,拦截到请求后,把employeeId改成属于这个公司但是不属于这个事业部的员工,查看是否可以修改成功。
            ◆考勤权限管理员登录并修改员工年假,拦截请求并添加到repeater;公告权限管理员登录获取cookie数据;回放请求时换成公告权限管理员的cookie,查看是否可以修改成功。

时间: 2024-10-23 06:34:47

【逻辑漏洞】基于BurpSuite的越权测试实战教程的相关文章

WEB安全第七篇--终结篇考验逻辑思维:逻辑漏洞大汇总(越权、会话逻辑、业务逻辑、暴力破解)

零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的payload技巧以便于备忘.不是大神.博客内容非常基础,如果真的有人看而且是大牛们,请不要喷我,欢迎指正我的错误(水平有限). 一.越权: 1.本质: 某账户拥有了超出它应有权限范围外的操作许可权. 2.分类: (1)水平越权:横向拥有了同等安全等级.密级等衡量标准账户的权限. (2)垂直越权:纵向拥有

下载基于大数据技术推荐系统实战教程(Spark ML Spark Streaming Kafka Hadoop Mahout Flume Sqoop Redis)

地址:http://pan.baidu.com/s/1c2tOtwc  密码:yn2r 82课高清完整版,转一播放码. 互联网行业是大数据应用最前沿的阵地,目前主流的大数据技术,包括 hadoop,spark等,全部来自于一线互联网公司.从应用角度讲,大数据在互联网领域主要有三类应用:搜索引擎(比如百度,谷歌等),广告系统(比如百度凤巢,阿里妈妈等)和推荐系统(比如阿里巴巴天猫推荐,优酷视频推荐等). 本次培训以商业实战项目作为驱动来学习大数据技术在推荐系统项目中的应用.使得学员能够亲身体会大数

Web安全测试中常见逻辑漏洞解析(实战篇)

Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,导致用户A可以操作其他人的信息.? 逻辑漏洞挖掘一直是安全测试中"经久不衰"的话题.相比SQL注入.XSS漏洞等传统安全漏洞,现在的攻击者更倾向于利用业务逻辑层的应用安全问题,这类问题往往危害巨大,可能造成了企业的资产损失和

实战经验丨业务逻辑漏洞探索之活动类漏洞

活动类的漏洞大家一定听说过,比如之前拼多多APP出现重大BUG,用户可以在任何没有限制的情况下无限领取100元无门槛优惠券.据不完全统计,一晚上的时间直接导致了拼多多200多亿的优惠券面额损失. 其实很多平台都会通过参与活动赢取奖励的方式来吸引用户,或是使用资金.虚拟货币.积分等进行交易,然而如果这些功能没有设计好,会很容易造成重大的经济损失,比如像上述的拼多多案例. 那么今天我们就来学习一下业务逻辑漏洞探索之活动类漏洞的相关内容,希望对大家有所帮助. 注:本文中提供的例子均来自网络已公开测试的

一次SRC实战 逻辑漏洞

逻辑漏洞 逻辑漏洞是指由于开发者不够严谨,导致程序在处理用户参数的过程中在逻辑上出现漏洞 常见逻辑漏洞 任意用户注册 短信轰炸.邮箱轰炸 密码重置绕过验证 订单价格修改 接口枚举 登录凭证绕过 实战 打开页面发现有用户注册和登录功能 我们先注册一个账号,在邮箱验证处用burp抓包重放看看可否绕过验证码 发现返回的数据中有6位数字,疑似验证码 我们使用这6位数字注册成功,存在任意用户注册漏洞 登录处有忘记密码功能,之前用户注册发现返回包中直接包含了验证码,忘记密码处是否也能直接绕过呢 继续抓包重放

业务逻辑漏洞挖掘随笔【身份认证篇】

在厂家的时候出来跟客户聊安全,老是喜欢把漏洞分为"传统漏洞"."业务逻辑漏洞".现在听到这词还蛮新鲜的.最近要让学弟们去帮忙挖漏洞,结合自己的测试经验顺便给他们归纳了下业务逻辑挖掘,于是有了本文.... 纯科普,大牛请无视 暴力破解: 实习的时候帮客户检查系统,当实在没找到漏洞的时候最爱挑这个毛病,"该系统可被暴力破解".因为内网中这问题比比皆是,暴力破解确实是个敲门砖. 01:没有验证码 可选工具:burpsuite 当然了,也可以选择同时爆破

一个逻辑漏洞的发现

0x00 前言 一枚逻辑漏洞,很抱歉图片找不到了.这几天正在琢磨逻辑漏洞,看了好多大牛的各种思路,自己心里有点小99,想多挖挖个,然后机会就来了. 0x01 实战 正在帮某云平台做测试,各种姿势使了个遍,木有漏洞.然后注册了用户,看看是否存在逻辑漏洞. ..下面是粗略的测试过程. 注册两个账号,然后通过一个账号的短信验证码,尝试修改另一个账号的密码. 其实...我就改了个包,然后失败. 我发现平台中存在购物的地方,我选择一款商品.再看修改金额,继续抓包改包... 后台验证了金额....修改失败.

浅谈APP漏洞挖掘之逻辑漏洞

作者:Can 联系方式:[email protected] 文章中若无特别说明,实例皆为本人自主挖掘. 转载请注明出处,本文仅为个人经验总结,介绍的并非所有方法,只是一些最常见的方法.如有错误,烦请指出. 0x00 简介 本文主要介绍APP漏洞挖掘中逻辑漏洞,包括任意用户密码重置,支付漏洞,任意用户未授权登录. 0x01 任意用户密码重置正文 首先,我们来看看任意用户密码重置. 方法一:密码找回的凭证太弱,为4位或6位纯数字,并且时效过长,导致可爆破从而重置用户密码. 这里我们来看一个实例,目前

挖SRC逻辑漏洞心得分享

文章来源i春秋 白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的. 本文多处引用了 YSRC 的 公(qi)开(yin)漏(ji)洞(qiao).挖SRC思路一定要广!!!!漏洞不会仅限于SQL注入.命令执行.文件上传.XSS,更多的可能是逻辑漏洞.信息泄露.弱口令.CSRF.本文着重分析逻辑漏洞,其他的表哥可能会分享更多的思路,敬请期待.当然Web程序也不仅限于网站程序,漏洞更多的可能是微信公众号端.APP应用程序等等下面总结一下自己的SRC挖洞思路(逻辑漏洞).SRC常见的逻辑漏洞类型