一次水平越权漏洞的利用

本文记录了一次水平越权的全过程,大致发生了如下:

  • 修改post参数,导致越权查看和删除;

  • 修改路径(REST风格参数),导致越权修改;

  • 修改cookie字段,绕过登录实现未授权访问;

  • 越权编辑植入xssPayload,获取完整cookie。

好了,开始虚构。

0x01 越权查看和删除

注册登录进入个人中心,一通胡乱测试,发现可通过修改参数来越权查看或修改任意用户资料。这里就拿教育经历做演示吧。

1、先创建,再修改。

2、抓包拦截重放,通过infoId去引用对象,返回用户信息,并进入编辑状态。

3、请求包中通过infoId参数引用对象,sql注入无果,尝试修改infoId值,引用对象成功,返回其他用户信息。删除时修改post参数值同样可越权删除任意用户信息。

4、继续编辑自己的自我评价,点击保存。发现前面infoId的值跑到路径中去了,也尝试修改一下(注意这里涉及修改了,就不要随意修改了,可以尝试修改另外的测试账号的内容)。

5、返回修改成功(去目标账号中刷新,发现资料确实被修改了)。

6、为什么路径也能作为参数测试点呢,因为这里使用的是REST风格参数。

参考链接:https://blog.csdn.net/weixin_44750790/article/details/118195473

0x02 绕过登录未授权访问

前面一顿操作,一直没能获取到手机号邮箱等敏感信息,结果发现这些基本信息的编辑使用的不是同一套流程,为了能扒出来,就有了下文。

1、下面是预览资料的请求,没看到get/post参数啊,自然不存在“不安全的直接对象引用”这类越权漏洞。

很明显是通过cookie鉴别的,又这么多字段,一般这种我都不考虑越权(头不够铁),不过乍一看cookie中字段值貌似都为base64编码。竟然都是base64编码的,这!

2、控制变量法,逐个字段删除,找出有效的字段(删除某个字段,页面无变化说明该字段是无效字段,相信大家都知道这个技巧)。一番删除操作,只留下了 career_id 这个字段。重放返回该个人资料,修改删除该字段便异常,说明服务端仅校验该字段。

仅校验一个字段,看似使用是简单的base64编码,不错不错!

3、解码看看,5160397估计就是该用户id了。

4、通过Burpsuite的Intruder模块遍历career_id字段,抓个别的id看看。

5、使用该id,成功越权访问到该用户的个人简历信息。

6、接下来,复制该cookie替换掉自己浏览器中的cookie,成功绕过登录,未授权访问其他用户个人中心,且可进行资料编辑删除等操作。

0x03 利用“self-xss“获取更多权限

正经的越权到上面差不多就结束了,下面就是利用的“歪门邪道”了。

1、进一步摸索发现,其实仅仅是个人中心的访问凭证是只校验 career_id 这一个字段,其他页面还校验了更多的cookie字段,只有校验通过才可访问更多页面查看岗位信息、投递简历等操作。

2、其实吧,编辑资料这里还存在个存储型XSS。简历编辑页的存储型xss,基本是个self-xss无疑了,一般谁能访问到我的简历编辑页。

3、竟然都能越权编辑他人简历了,那我们是不是可以在编辑别人的简历的时候向其中植入xssPayload,一套“越权 + self_xss”组合拳。

另外,不难从前面的请求包中看出,这些资料编辑操作,一定是存在CSRF漏洞的。那么,又一套“CSRF + self_xss”组合拳。当然,CSRF肯定不如我们越权编辑稳当。接下来就等目标访问了......

这里就简要分析下思路,就不做演示了。

0x04 总结

总结一下测试水平越权漏洞的基本思路:

  1. 控制变量法删除参数或cookie字段,找到有效参数或cookie字段;

  2. 尽可能的对参数或cookie字段去模糊化,再进一步测试;

  3. 修改参数值或cookie字段,对增删改查等操作进行越权测试;

  4. 越权结合其他漏洞提升危害等级。

越权漏洞也可以结合Authz这类burp插件来测试,不过一般都局限于查看操作的越权。

链接:http://www.360doc.com/content/22/0715/07/77981587_1039917515.shtml

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水平越权漏洞(Horizontal Privilege Escalation)是一种安全漏洞,它允许攻击者通过利用系统中角色或权限的错误配置或实现缺陷,获得比其正常角色或权限更高的访问权限。这种漏洞可能导致攻击者未经授权地执行敏感操作或访问敏感数据。 漏洞成因: 1. 错误的访问控制列表(ACL)配置:不正确或松散的ACL配置可能允许攻击者绕过权限限制。 2. 错误的会话管理:在会话管理过程中,如果没有适当地验证和控制用户身份,攻击者可能能够利用会话漏洞进行水平越权。 3. 逻辑漏洞:程序中存在逻辑错误,攻击者可以利用这些错误来绕过权限限制。 处置建议: 1. 实施最小权限原则:确保每个用户只具有完成其工作所需的最低权限。 2. 定期审查和更新访问控制策略:确保ACL配置正确、完整,并且与当前的业务需求相符。 3. 强化会话管理:实施强大的身份验证和会话管理机制,包括使用安全的令牌和会话过期策略。 4. 安全编码实践:在开发过程中,遵循安全编码标准和最佳实践,以减少逻辑漏洞的风险。 5. 持续监测和日志记录:及时检测和响应水平越权漏洞的发现,并记录相关事件以便进行调查和纠正。 重要的是要保持系统的安全性,漏洞修复和安全意识培训都是必要的。此外,定期进行安全评估和渗透测试可以帮助发现和修复水平越权漏洞

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值