实战 | 记一次水平越权漏洞的利用
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
0x00 前言 本文记录了一次水平越权的全过程,大致发生了如下: 修改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 总结 总结一下测试水平越权漏洞的基本思路: 控制变量法删除参数或cookie字段,找到有效参数或cookie字段; 尽可能的对参数或cookie字段去模糊化,再进一步测试; 修改参数值或cookie字段,对增删改查等操作进行越权测试; 越权结合其他漏洞提升危害等级。 越权漏洞也可以结合Authz这类burp插件来测试,不过一般都局限于查看操作的越权。 转载自: https://www.freebuf.com/articles/web/334522.html 作者:倒霉xiong 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END
- 上一篇:渗透测试-木马免杀的几种方式
- 下一篇:实战|从app渗透到网站沦陷