问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
业务逻辑越权之水平垂直越权
漏洞分析
# 一、概念理解 ### 1.什么是越权越权: 越权访问(Broken Access Control,简称BAC)是我们在测试过程中遇到比较多的漏洞,该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户...
一、概念理解 ====== ### 1.什么是越权: 越权访问(Broken Access Control,简称BAC)是我们在测试过程中遇到比较多的漏洞,该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。也可以这样来理解越权漏洞,一个用户一般只能够对自己本身的信息进行增删改查,然而由于后台开发人员的疏忽,没有在信息进行增删改查时候进行用户判断(或者设置判断条件是较简单),从而导致用户可以对其他用户(同级或者更加高级的管理员)进行增删改查等等操作。 ### 2.分类: [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0727ff68f8417a8fb43cead49c57b37e15b65941.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0727ff68f8417a8fb43cead49c57b37e15b65941.png) 水平越权:同级别的用户之间权限的跨越;通过更换某个ID之类的身份标识从而使A账号获取(修改、删除等)B账号的数据 垂直越权:可通过普通用户的权限访问到较高级用户的权限;使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作,得到核心的 未授权访问:通过删除请求中的认证消息后重放该请求,依旧可以访问或者完成操作 ### 3.原理: 前端安全问题造成:界面:判断用户等级后代码界面部分进行可选显示,代码在界面只判断是否为管理员 后端安全造成:数据库(通常登入用户判断是哪一级别的用户是靠用户类型usertype进行的) 二、演示案例: ======= Pikachu水平垂直越权演示 --------------- pikachu是一个漏洞练习平台。其中包含了常见的web安全漏洞,pikachu的安装需要集成环境的配合,实验主要用到了以下的工具,大家可以自行下载 小皮:<https://www.xp.cn/> Pichachu:<https://github.com/zhuifengshaonianhanlu/pikachu> Burpsite:[https://portswigger.net/burp/communitydownload(最好下载1.6以上版本](https://portswigger.net/burp/communitydownload%EF%BC%88%E6%9C%80%E5%A5%BD%E4%B8%8B%E8%BD%BD1.6%E4%BB%A5%E4%B8%8A%E7%89%88%E6%9C%AC)) Java环境:直接百度搜 火狐浏览器(要去更改一些配置这里不多做介绍):<https://download-origin.cdn.mozilla.net/pub/devedition/releases/56.0b9/win32/zh-CN/Firefox%20Setup%2056.0b9.exe> 成功之后界面如下: [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-086f5d4164d1b510f08358bf94e431773b86ddcb.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-086f5d4164d1b510f08358bf94e431773b86ddcb.png) 选择over permission(越权)主要从越权和垂直来进行实验 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-f186a736e6b77fb78fe174645d5645e9598508a2.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-f186a736e6b77fb78fe174645d5645e9598508a2.png) 先练习水平越权点击tip提示选择一个用户进行登入(这里选择lucy) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-81e4bf9e8ea2e92d4297bb9248db72632f3f94fe.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-81e4bf9e8ea2e92d4297bb9248db72632f3f94fe.png) 开启burpsite进行抓包,点击“查看个人信息”抓到数据包 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-4b0f38603759ee15853ea2e8f841cf317185cf95.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-4b0f38603759ee15853ea2e8f841cf317185cf95.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-c5dd3ce0202c5aabcb225aef637aee80b130fe2a.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-c5dd3ce0202c5aabcb225aef637aee80b130fe2a.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ac6361e453ae915d4c42c8f5eea53bba68585fd4.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ac6361e453ae915d4c42c8f5eea53bba68585fd4.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-98068eda24600204446cdaa4eeb1b7a597dfb1a8.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-98068eda24600204446cdaa4eeb1b7a597dfb1a8.png) 更换数据包内容再把数据包返回(现实中可以通过猜测、查看用户是否注册等方法发现用户信息) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-d7ad93541342504530c5fa219822e43ef86b618d.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-d7ad93541342504530c5fa219822e43ef86b618d.png) 得到lili用户的具体信息,简单的水平越权就结束了 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-71aa66415239e427189f612d75852df37c406244.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-71aa66415239e427189f612d75852df37c406244.png) 点击垂直越权,选择admin管理员登入查看权限 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3d4fc561072d353d046b79c3485a3e485930efe9.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3d4fc561072d353d046b79c3485a3e485930efe9.png) 发现拥有查看用户列表、添加、删除用户的较高权限 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0644fa5874d1524685ef5ae90940bd69de116f6b.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0644fa5874d1524685ef5ae90940bd69de116f6b.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-fc328b75e1ea587aa707fcae9c300392bbcac470.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-fc328b75e1ea587aa707fcae9c300392bbcac470.png) 退出登入再选择普通用户进行查看,发现只有查看功能 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ffaa711e58dd200e3596b3c6e0a063978eb716b6.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ffaa711e58dd200e3596b3c6e0a063978eb716b6.png) 在admin中点击添加用户创建一个新的用户打开抓包,获取数据 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3eaf810f980f51f37bf71b66a7231cc0cddd698e.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3eaf810f980f51f37bf71b66a7231cc0cddd698e.png) 抓取到数据包之后右击发送到Repeater,然后把数据包drop丢掉,重新登入到pikachu用户下 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-bbe2e760d039a819c395e734d3b74c7b5ea65a84.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-bbe2e760d039a819c395e734d3b74c7b5ea65a84.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0da2d55fd9c37fce2046b961ff12309daaa7f218.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-0da2d55fd9c37fce2046b961ff12309daaa7f218.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-16e3247dcb70d2f746f9fbcc363b54136833d1d5.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-16e3247dcb70d2f746f9fbcc363b54136833d1d5.png) 回到用户界面,右击查看页面元素,查看当前页面的cookie(储存在用户本地终端上的数据,网站上用于辩护用户的信息) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3a2d2722780546f77b43f412c0d897b894d92220.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-3a2d2722780546f77b43f412c0d897b894d92220.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-4f18f817a6c2a66c9bd602f19473c7f05de823c6.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-4f18f817a6c2a66c9bd602f19473c7f05de823c6.png) 把cookie进行替换之后重新发送,右击刷新页面发现zzz用户 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ed86f0cbe58dacadf85adb599ab56b3a20f6b141.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-ed86f0cbe58dacadf85adb599ab56b3a20f6b141.png) 三、总结 ==== ### 1.检测: 如果在访问网站数据包中有传输用户的编号用户,用户组编号或者类型编号的时候,那么尝试对这个值进行修改,就是测试漏洞的基本。账号获取可以通过注册是提示已经被注册获取到,或者通过别的渠道能够看到用户的账号;通过数据包的修改得到了同一级别用户的信息。 水平越权:通过一个更改一个普通用户的id值来获取其他用户的数据,观察用户的地址链接的编号,往往与之有关 垂直越权:一般是通过用户类型编号,判断你是什么类型级别的用户,给予你不同级别的权力 有如下方法 (1)普通用户前端有操作界面可以抓取数据包 (2)通过网站源码本地搭建自己去模拟抓取 (3)盲猜,通过账户构造规律 利用burpsit插件进行检测越权漏洞(环境和上面的一样) 在burpsite的商店(BApp Store) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-cce33066e6d96a736fa387744c2516625612814c.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-cce33066e6d96a736fa387744c2516625612814c.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-de213f7269732c3dbe1d5e4294b12fdcf7ad138a.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-de213f7269732c3dbe1d5e4294b12fdcf7ad138a.png) 继续在水平越权中登入到lucy用户中,抓取用户数据包数据 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-d0245e6dfb2f143aeb6f288ec6d473f932741c35.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-d0245e6dfb2f143aeb6f288ec6d473f932741c35.png) 右击发送到安装的插件Authz中再更改用户名称之后再次发送到AUthz中 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-32b66c3d5feb024b4142ac6222cc17af379c4809.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-32b66c3d5feb024b4142ac6222cc17af379c4809.png) 在Authz上面的cookie里面输入刚刚发送的lucy数据包中的cookie [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-f693d8f4aff452d0a580f06cd82e0a6ccc86f306.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-f693d8f4aff452d0a580f06cd82e0a6ccc86f306.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-8844f688b486cbcf3f3e5321357ab6115ec75f5a.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-8844f688b486cbcf3f3e5321357ab6115ec75f5a.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-6193063091a328f763b2bf47c596cf0f08b0b173.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-6193063091a328f763b2bf47c596cf0f08b0b173.png) 出现绿色表明都可以访问到说明存在越权漏洞 [![](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-78f0e96e274ce4211a448bb277dec41f98e598ec.png)](https://shs3.b.qianxin.com/attack_forum/2021/08/attach-78f0e96e274ce4211a448bb277dec41f98e598ec.png) ### 2.防御: (1)执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限 (2)前后端同时对用户输入信息进行校验,双重验证机制 (3)直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理 (4)可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可预测、不可猜解的 user 信息。 (5)特别敏感操作可以让用户再次输入密码或其他的验证信息。 (6)永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
发表于 2021-08-24 14:07:29
阅读 ( 5696 )
分类:
漏洞分析
0 推荐
收藏
0 条评论
请先
登录
后评论
ZHUZHU715
3 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!