漏洞赏金猎人系列-权限升级相关测试方法以及Tips-III

简介: 本文为权限升级相关系列的第三弹,前文有:idor相关研究,gitlab漏洞系列-access control相关小结漏洞赏金猎人系列-权限升级相关测试方法以及Tips-I漏洞赏金猎人系列-权限升级相关测试方法以及Tips-II

前言


本文为权限升级相关系列的第三弹,前文有:

idor相关研究,

gitlab漏洞系列-access control相关小结

漏洞赏金猎人系列-权限升级相关测试方法以及Tips-I

漏洞赏金猎人系列-权限升级相关测试方法以及Tips-II


正文

第十五种方法

尝试在请求中发送额外的属性作为参数或者使用Burp Suite中插件JSONandHTTPP

#请求
{
  "id":"7"                     ------------>  {"id":"7" ,"admin":"false"}
}
#请求
{
  "id":"7" ,"admin":"true"     ------------>  {"id":"7" ,"admin":"true"}
}

第十六种方法

创建两个帐户,然后尝试将ID替换为另一个ID,同时进行操作,比如Get , Add , Edit , Remove

复现步骤:

  • 创建两个账号,一个在chrome上面,一个在火狐上面
  • 尝试获取两个账号的UUID
  • 在BP中尝试Replace And Match功能或者使用Autorize和AutoRepeater这样的插件
  • 对其中一个尽可能尝试多的操作,看看有没越权行为发生

第十七种方法

创建两个帐户,第一个高权限,第二个低权限,然后对其中一个帐户执行操作时,将高权限的Cookie替换为低权限的

复现步骤:

  • 创建两个账号,一个在chrome上面(低权限),一个在火狐上面(高权限)
  • 尝试获取两个账号的cookie
  • 在BP中尝试Replace And Match功能获取到高权限和低权限的cookie,或者使用Autorize这个插件
  • 对其中一个尽可能尝试多的操作,看看有没越权行为发生

第十八种方法

创建两个帐户,一个为高级权限,第二个为低级权限,然后在对其中一个帐户执行操作时,将高级权限的授权替换为低级权限

复现步骤:

  • 创建两个账号,一个在chrome上面(低权限),一个在火狐上面(高权限)
  • 尝试获取两个账号的Authorization
  • 在BP中尝试Replace And Match功能获取到高权限和低权限的Authorization,或者使用Autorize这个插件
  • 对其中一个尽可能尝试多的操作,看看有没越权行为发生

第十九种方法

创建帐户,然后将你的UUID或ID添加到所有敏感接口作为参数,尝试获取IDOR

复现步骤:

第二十种方法

创建帐户,然后添加isAdmin=Trueadmin=True等到所有敏感接口,以覆盖权限

复现步骤:

第二十一种方法

创建两个帐户Admin和User,从Admin帐户找到所有敏感接口,然后从用户User账户添加.json到所有接口

复现步骤:

  • 创建两个帐户Admin和User
  • 找到Admin帐户上的所有敏感接口,比如:http://company.com/privilege-escalation
  • .json添加到普通账户User的对应的所有接口,比如:http://company.com/privilege-escalation.json


参考

https://buaq.net/go-12009.html

https://www.youtube.com/watch?v=3K1-a7dnA60&t=3s

https://www.youtube.com/watch?v=0jYeaFmivrY

https://galnagli.com/Mass_Assignment/

https://itzone.com.vn/en/article/mass-assignment-vulnerability-and-prevention/

目录
相关文章
|
4天前
|
敏捷开发 测试技术
软件测试中的探索性测试方法
【6月更文挑战第12天】探索性测试,一种灵活的测试实践,旨在通过自由形式的探索发现软件的潜在缺陷。它不依赖于事先编写的测试用例,而是鼓励测试人员利用直觉、经验和创造力来指导测试过程。本文将深入探讨探索性测试的核心概念、实施策略以及它如何增强传统测试方法的有效性。
|
10天前
|
数据挖掘 测试技术
软件测试的艺术:确保质量的创造性方法
【6月更文挑战第6天】在数字化时代,软件无处不在。它们渗透到我们生活的方方面面,从个人使用到企业运营。然而,随着软件的普及和复杂性的增加,确保其质量和性能变得至关重要。软件测试是这一过程的核心,它不仅是一门科学,更是一种艺术。本文将探讨如何通过创造性的方法来提高软件测试的效率和效果,从而确保最终产品能够满足用户的期望和需求。
|
11天前
|
敏捷开发 搜索推荐 Devops
现代软件测试方法与挑战
传统的软件测试方法在现代软件开发环境下已经面临着诸多挑战,包括复杂的系统架构、快速迭代的开发周期以及高度定制化的需求。本文将探讨现代软件测试所面临的挑战,并介绍一些新的测试方法和工具,以适应不断变化的软件开发环境。
18 1
|
12天前
|
XML 设计模式 Java
PowerMock:静态方法与私有方法测试
PowerMock是Java单元测试中扩展Mockito的框架,允许模拟静态方法、构造函数、私有方法和final类,以增强测试隔离和覆盖率。主要应用场景包括静态方法模拟、私有方法测试和构造函数/Final类模拟。然而,使用时需注意配置复杂性、避免过度使用、精确控制模拟行为和遵循最佳实践。示例展示了如何模拟静态方法,通过添加PowerMock依赖和使用PowerMockito.mockStatic进行静态方法的模拟和验证。正确使用PowerMock能提升测试质量,但应谨慎以保持代码可读性和测试有效性。
PowerMock:静态方法与私有方法测试
|
12天前
|
存储 安全 测试技术
渗透测试之白盒测试:一种深入的安全性评估方法
渗透测试中的白盒测试是一种利用系统详细信息(如源代码、数据库结构和网络拓扑)进行深度安全评估的方法。通过源代码审查、数据库分析和网络拓扑研究,测试人员能更准确地发现漏洞并提高测试效率。尽管白盒测试能深入揭露潜在威胁,但也面临信息获取难、代码理解复杂及对测试人员高技能要求的挑战。
渗透测试之白盒测试:一种深入的安全性评估方法
|
13天前
|
设计模式 Java 测试技术
Java一分钟之-PowerMock:静态方法与私有方法测试
【6月更文挑战第4天】PowerMock是扩展Mockito的框架,用于模拟静态方法、构造函数和私有方法,以增强Java单元测试的隔离性和覆盖率。核心应用场景包括静态方法模拟、私有方法测试和Final类模拟。常见问题包括配置复杂、过度使用和忽略模拟的真实行为。解决方案包括遵循官方文档、谨慎使用PowerMock、精确控制模拟逻辑和遵循最佳实践。示例展示了如何模拟静态方法,通过添加PowerMock依赖和使用`PowerMockRunner`、`PrepareForTest`注解,以及`PowerMockito.mockStatic`和`verifyStatic`方法进行测试。
43 0
Java一分钟之-PowerMock:静态方法与私有方法测试
|
13天前
|
敏捷开发 算法 测试技术
【软件测试】 测试用例的基本要素与设计方法
【软件测试】 测试用例的基本要素与设计方法
|
14天前
|
测试技术 UED
课题项目结题测试通常会采用的方法
课题项目结题测试确保项目准确稳定,涉及功能测试、性能测试、安全测试、兼容性测试、用户验收测试及文档审查。这些方法全面评估项目各方面,保证顺利交付和使用,同时促进项目改进。标签:结题测试、软件测试报告。
课题项目结题测试通常会采用的方法
|
16天前
|
运维 安全 网络架构
【计算巢】网络模拟工具:设计与测试网络架构的有效方法
【6月更文挑战第1天】成为网络世界的超级英雄,利用网络模拟工具解决复杂架构难题!此工具提供安全的虚拟环境,允许自由设计和测试网络拓扑,进行性能挑战和压力测试。简单示例代码展示了创建网络拓扑的便捷性,它是网络设计和故障排查的“魔法棒”。无论新手还是专家,都能借助它探索网络的无限可能,开启精彩冒险!快行动起来,你会发现网络世界前所未有的乐趣!
【计算巢】网络模拟工具:设计与测试网络架构的有效方法
|
17天前
|
测试技术 UED
软件测试中的自动化与手动方法比较
【5月更文挑战第31天】本文将探讨软件测试中自动化和手动方法的优缺点,以及它们在不同场景下的应用。通过比较这两种方法,我们将了解它们各自的优势和局限性,并提供一些建议来帮助选择适合特定项目的测试策略。