实战中的越权访问漏洞

  • A+
所属分类:安全文章


STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。



NO.1前言

OWASP发表的 OWASP Top 10 2021

https://owasp.org/Top10/

想必是这个月安全圈较为火热的新闻话题。看到Broken Access Control 位居榜单首位,可以说这个结果是在情理之中意料之外。

实战中的越权访问漏洞

无论是在我日常漏洞审核工作中还是在自身参加的众测项目中,因鉴权不当产生的漏洞问题越来越多。对于厂商来说,此类问题危害性极大,攻击者可以突破登录、身份验证等手段控制后台功能或越权到高权限身份,而对于白帽子来说,此类问题较容易挖掘,赏金极高。所以这篇文章我将站在白帽的角度去展开分享 - 实战中的越权访问漏洞。



NO.2 绕过访问控制检查

案例一

修改 response数据包状态码以达到绕过访问控制检查,当登录失败时,控制身份登录的状态码为 1

实战中的越权访问漏洞

通过尝试后发现当状态码 "code":"0" 时,为登录成功的状态

实战中的越权访问漏洞
实战中的越权访问漏洞

总结:此类通过修改状态码进行伪造的,我将其分为三类: 

1.后端未作验证,直接修改状态码即可绕过访问控制检查。

2. 后端做了验证,但是会显示后台页面,暴露后台功能接口,但是没有数据和权限去操作。 

3. 后端做了校验,直接回跳到登录页面,重新登录。 

像第二种情况,如果后台可以去访问到所以的功能点,可以去交一个低危或中危。

案例二

漏洞详情

首先我们通过一个任意用户登录该系统

在登录时分析数据包,发现 roleld参数为身份控制参数

实战中的越权访问漏洞

当 roleld参数值为 1 时为管理员身份

实战中的越权访问漏洞

BurpSuite小Tips,如果每个页面都需要验证一次response状态码,我们可以在Burp里面进行配置,使其每个response数据包的 boy指定值自动替换

实战中的越权访问漏洞

案例三

通过修改参数值以达到越权增删查改的横向越权漏洞

漏洞详情

通过查看预约二维码捕获数据包

实战中的越权访问漏洞

通过测试发现 id为控制门票二维码,user_id为身份验证。由于没有对身份和对应的门票验证码做身份校验,导致攻击者可以通过未授权的情况下直接访问二维码(将user_id参数删除,遍历id即可)

实战中的越权访问漏洞

未使用的已付款二维码

实战中的越权访问漏洞

总结:对所以控制身份页面的数据包要格外关注,尤其在请求数据包中由固定参数去请求资源的情况。



NO.3 未授权访问后台功能

由于未对后台功能鉴权所导致的未授权访问漏洞 这类漏洞是需要一条攻击链去支撑的,比如:

1.众测项目甲方给了测试用户 

2. 通过口令爆破、弱口令登入后台 

3. 通过源码审计或JS泄露的路径去测试后台功能 

此类漏洞虽然需要前提支撑,但是回报颇大,一般都是成批出现

案例一

首先我们去拦截触发后台功能点的数据包,比如增删查改的数据包

实战中的越权访问漏洞

通常是会带Cookie或token值去进行身份验证的,此类我们可以删除Cookie和token值去验证,删除后 是否还能触发功能

实战中的越权访问漏洞

发现删除Cookie后依然可以触发后台功能 

再查看该条数据已经不存在

实战中的越权访问漏洞

当然,这个除了删除接口,增加、修改、查看接口都可以进行未授权访问

案例二

点击获取后台中奖名单接口

实战中的越权访问漏洞

发现删除token依然可以访问到敏感数据

实战中的越权访问漏洞

案例三

通过目录扫描、FUZZ、猜解等方式获取到后台路径达到未授权访问后台功能

1.目录扫描极力推荐 Dirmap 

https://github.com/H4ckForJob/dirmap

(安装的时候一定要认真看 README.md的最后面已知缺陷那里,不然有些 PY库装不上)

2.FUZZ就是要看字典了,没什么好说的

3.猜解就要看运气了

一级目录为 casServer,通过目录扫描无果

实战中的越权访问漏洞

通过猜解的方式,将 casServer修改为 fileServer,发现存在目录遍历,泄露文件上传点等等

实战中的越权访问漏洞



NO.4 API接口未对敏感

HTTP请求方式做鉴权

现在还是有很多站点通过 HTTP请求方式,如 PUT、DELETE去控制站点添加和删除的功能,但在启用这 种方式时,若对API接口未作鉴权处理,将引发严重危害

案例

将HTTP请求方式修改为 OPTIONS查看允许的 HTTP请求方式,发现存在 DELETE方式

实战中的越权访问漏洞

我们修改 HTTP请求方式为 DELETE,删除站点内现有的数据

首先访问 XX云,查看现有的文件

我们就选择这条文件进行删除

实战中的越权访问漏洞

再次访问发现已经不存在,被删除掉了



NO.5 总结

在实战中挖掘越权漏洞,要尤为关注各个功能点对于身份鉴权的方式 

1. 若有注册功能的系统,注册两个账号,更换为账号B的 Cookie或 Token去测试账号 A的功能 

2. 要分析每个参数的功能意义,要多尝试去修改,比如 flase修改为 true或 success会发生什么 

3. 对后台的每一个功能数据包去测试,删除 Cookie或 Token后是否仍能触发功能效果




RECRUITMENT

招聘启事

安恒雷神众测SRC运营(实习生)
————————
【职责描述】
1.  负责SRC的微博、微信公众号等线上新媒体的运营工作,保持用户活跃度,提高站点访问量;
2.  负责白帽子提交漏洞的漏洞审核、Rank评级、漏洞修复处理等相关沟通工作,促进审核人员与白帽子之间友好协作沟通;
3.  参与策划、组织和落实针对白帽子的线下活动,如沙龙、发布会、技术交流论坛等;
4.  积极参与雷神众测的品牌推广工作,协助技术人员输出优质的技术文章;
5.  积极参与公司媒体、行业内相关媒体及其他市场资源的工作沟通工作。

【任职要求】 
 1.  责任心强,性格活泼,具备良好的人际交往能力;
 2.  对网络安全感兴趣,对行业有基本了解;
 3.  良好的文案写作能力和活动组织协调能力。


简历投递至 

[email protected].cn

设计师(实习生)

————————

【职位描述】
负责设计公司日常宣传图片、软文等与设计相关工作,负责产品品牌设计。

【职位要求】
1、从事平面设计相关工作1年以上,熟悉印刷工艺;具有敏锐的观察力及审美能力,及优异的创意设计能力;有 VI 设计、广告设计、画册设计等专长;
2、有良好的美术功底,审美能力和创意,色彩感强;

3、精通photoshop/illustrator/coreldrew/等设计制作软件;
4、有品牌传播、产品设计或新媒体视觉工作经历;

【关于岗位的其他信息】
企业名称:杭州安恒信息技术股份有限公司
办公地点:杭州市滨江区安恒大厦19楼
学历要求:本科及以上
工作年限:1年及以上,条件优秀者可放宽


简历投递至 

[email protected]

安全招聘

————————

公司:安恒信息
岗位:Web安全 安全研究员
部门:战略支援部
薪资:13-30K
工作年限:1年+
工作地点:杭州(总部)、广州、成都、上海、北京

工作环境:一座大厦,健身场所,医师,帅哥,美女,高级食堂…

【岗位职责】
1.定期面向部门、全公司技术分享;
2.前沿攻防技术研究、跟踪国内外安全领域的安全动态、漏洞披露并落地沉淀;
3.负责完成部门渗透测试、红蓝对抗业务;
4.负责自动化平台建设
5.负责针对常见WAF产品规则进行测试并落地bypass方案

【岗位要求】
1.至少1年安全领域工作经验;
2.熟悉HTTP协议相关技术
3.拥有大型产品、CMS、厂商漏洞挖掘案例;
4.熟练掌握php、java、asp.net代码审计基础(一种或多种)
5.精通Web Fuzz模糊测试漏洞挖掘技术
6.精通OWASP TOP 10安全漏洞原理并熟悉漏洞利用方法
7.有过独立分析漏洞的经验,熟悉各种Web调试技巧
8.熟悉常见编程语言中的至少一种(Asp.net、Python、php、java)

【加分项】
1.具备良好的英语文档阅读能力;
2.曾参加过技术沙龙担任嘉宾进行技术分享;
3.具有CISSP、CISA、CSSLP、ISO27001、ITIL、PMP、COBIT、Security+、CISP、OSCP等安全相关资质者;
4.具有大型SRC漏洞提交经验、获得年度表彰、大型CTF夺得名次者;
5.开发过安全相关的开源项目;
6.具备良好的人际沟通、协调能力、分析和解决问题的能力者优先;
7.个人技术博客;
8.在优质社区投稿过文章;


岗位:安全红队武器自动化工程师
薪资:13-30K
工作年限:2年+
工作地点:杭州(总部)

【岗位职责】
1.负责红蓝对抗中的武器化落地与研究;
2.平台化建设;
3.安全研究落地。

【岗位要求】
1.熟练使用Python、java、c/c++等至少一门语言作为主要开发语言;
2.熟练使用Django、flask 等常用web开发框架、以及熟练使用mysql、mongoDB、redis等数据存储方案;
3:熟悉域安全以及内网横向渗透、常见web等漏洞原理;
4.对安全技术有浓厚的兴趣及热情,有主观研究和学习的动力;
5.具备正向价值观、良好的团队协作能力和较强的问题解决能力,善于沟通、乐于分享。

【加分项】
1.有高并发tcp服务、分布式等相关经验者优先;
2.在github上有开源安全产品优先;
3:有过安全开发经验、独自分析过相关开源安全工具、以及参与开发过相关后渗透框架等优先;
4.在freebuf、安全客、先知等安全平台分享过相关技术文章优先;
5.具备良好的英语文档阅读能力。


简历投递至

[email protected]

岗位:红队武器化Golang开发工程师

薪资:13-30K
工作年限:2年+
工作地点:杭州(总部)

【岗位职责】
1.负责红蓝对抗中的武器化落地与研究;
2.平台化建设;
3.安全研究落地。

【岗位要求】
1.掌握C/C++/Java/Go/Python/JavaScript等至少一门语言作为主要开发语言;
2.熟练使用Gin、Beego、Echo等常用web开发框架、熟悉MySQL、Redis、MongoDB等主流数据库结构的设计,有独立部署调优经验;
3.了解docker,能进行简单的项目部署;
3.熟悉常见web漏洞原理,并能写出对应的利用工具;
4.熟悉TCP/IP协议的基本运作原理;
5.对安全技术与开发技术有浓厚的兴趣及热情,有主观研究和学习的动力,具备正向价值观、良好的团队协作能力和较强的问题解决能力,善于沟通、乐于分享。

【加分项】
1.有高并发tcp服务、分布式、消息队列等相关经验者优先;
2.在github上有开源安全产品优先;
3:有过安全开发经验、独自分析过相关开源安全工具、以及参与开发过相关后渗透框架等优先;
4.在freebuf、安全客、先知等安全平台分享过相关技术文章优先;
5.具备良好的英语文档阅读能力。

简历投递至

[email protected]



END

实战中的越权访问漏洞
实战中的越权访问漏洞
实战中的越权访问漏洞

长按识别二维码关注我们


本文始发于微信公众号(雷神众测):实战中的越权访问漏洞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: