【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(下)

本文涉及的产品
访问控制,不限时长
简介: 【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(下)

实验5:由请求参数控制的用户ID


信息:

本实验的用户帐户页面上存在一个横向权限提升漏洞。

要解决实验问题,获取用户carlos的API密钥并将其作为解决方案提交

已有账号:wiener:peter


part1:


使用已有账号登陆


8c12448d2faf475f9ee465ccba8c24ca.png


分析HTTP历史记录中数据包,无特殊参数


再次点击My account


5b0943c122ff43a08d204021541495d9.png


分析数据包,URL在“id”参数中包含用户名


57bad36fa87b4f40909e27103ad09e6b.png


part2:


发送请求到repeater,将“id”参数更改为carlos

检索并提交卡洛斯的API密钥


a77b804180d14eebb22f7f813a863521.png


d5cf25994e3a411ba106a0db0774970f.png


d0a9b839db3d496ca04bad5468107a05.png


实验6:用户ID由请求参数控制,用户ID不可预测


信息:


这个实验室在用户账户页面上有一个水平的权限提升漏洞,但是用 GUID 来识别用户


已有账号:wiener:peter


part1:


找一篇 Carlos 的博文。


34b55426d58d47c2b6c82332c0adcbad.png


单击 Carlos 并观察 URL 包含他的用户 ID。记下这个 ID。


eb4f646654b9461f8438fe32e095c1e3.png

part2:


使用已有账号登录并访问


wiener:peter


2d3e88825551453aabf9471ec0aed1a5.png


登陆后再次点击My account,分析数据包


805f3fa4fa724a3daa5d795c53ffe9c7.png


part3:


完成实验


将“ ID”参数更改为保存的用户 ID。检索并提交 API 密钥。


01cf50f13aa8443d96735cb0075265cc.png

49e77609598e43608b35f595b4492876.png

如果卡住,就刷新一下页面

824e9fc0fd7947269fd1c582a445ffe0.png

2834c753845541ea8c5fc764c8cc6ba0.png


实验7:用户ID由请求参数控制,重定向时发生数据泄漏


该实验室包含一个访问控制漏洞,其中敏感信息在重定向响应的主体中泄露。


要解决该实验室的问题,获取用户 Carlos 的 API 密钥,并将其作为解决方案提交。


已有账号:wiener:peter


part1:


使用提供的凭据登录并访问您的帐户页面。

ad0a74edee4e48d29f8fe61f5c2f24e4.png



再次点击My account,分析数据包


发现通过参数名传参的参数


e5ce74c0db474fc9a3af77a678d95fee.png


part2:


发送到bp的repeater


将“ id”参数更改为 Carlos


(虽然响应现在将重定向到主页,但是它有一个主体,其中包含属于 Carlos 的 API 密钥)


c442bf772f744a17b6fc5f6d20d36845.png


提交 API 密钥


fe08ecb71d3a47b99e20691e0d41b197.png



896eb7632bcd4d30980d61c919cc217e.png

6、横向到纵向权限提升


1、危害:一般水平权限提升攻击可以通过危害更高权限的用户而转变为垂直权限提升。如横向升级可能允许攻击者重置或捕获属于其他用户的密码。如果攻击者以管理用户为目标并危害其帐户,则他们可以获得管理访问权限,从而执行垂直权限提升。


如攻击者可能能够使用已经描述的横向权限提升的参数篡改技术获得对另一个用户帐户页的访问权限:


https://insecure-website.com/myaccount?id=456


如果目标用户是应用程序管理员,则攻击者将获得对管理帐户页的访问权限。此页可能会泄漏管理员密码或提供更改密码的方法,或者可能提供对特权功能的直接访问。


2、涉及实验:


实验8:用户ID由密码泄露的请求参数控制


实验8:用户ID由密码泄露的请求参数控制


这个实验室有一个用户账户页面,其中包含当前用户的现有密码,预先填写了一个掩码输入


要解决这个实验室,检索管理员的密码,然后用它来删除 Carlos。


已有账号:wiener:peter


part1:


使用提供的凭据登录并访问用户帐户页面。


c0dfba5378b1423fb173ccda309a979c.png


发现页面会包含自己密码,再次点击My account,分析数据包


发现通过参数名传参的参数


ef6a3b6beeff491c8766cd2b847cb757.png


part2:


发送到repeater


将 URL 中的“ id”参数更改为管理员,并找到管理员密码


9f5fb0aa0eab4efa8af0b3daa3be741f.png


part3:


登陆管理员账户,删除 Carlos


iq8szu44yky140pdvu4b

09da53e1d5404e44befa6b7a935e34ef.png28c459f33b8b4c57af768c6b24869dcd.pnga9317907791c414eb099459b99f50b20.png


7、不安全的直接对象引用


1、不安全直接对象引用(IDOR)是访问控制漏洞的一个子类。当应用程序使用用户提供的输入直接访问对象,并且攻击者可以修改输入以获得未经授权的访问时,就会出现IDOR。它因出现在OWASP 2007 Top Ten中而流行,尽管它只是许多可能导致绕过访问控制的实现错误中的一个例子


2、涉及实验:

实验9:不安全的直接对象引用


实验9:不安全的直接对象引用


这个实验室将用户聊天记录直接存储在服务器的文件系统中,并使用静态 URL 检索它们。


找到用户 Carlos 的密码,登陆他们的账户,解决实验室


part1:


选择 Live chat 选项卡。发送一条消息,然后选择 View transcript。


0050da4e6cb944009bd3cc8baab94486.png

9d4c3e3bacdb46c4828d825b90f04fb0.png

再次点击


6a78bb9b1af548e5bb1b908e0b0e60eb.png


分析HTTP历史记录


检查 URL 并观察到文本是分配给文件名的文本文件,其中包含一个递增的数字。


1bdfcbe549de443aa2967d75876d903d.png


part2:


将文件名更改为1.txt 并查看文本


注意聊天记录中的密码。


c786291367a24492b1ac816b39209a64.png


part3:


返回到主实验室页面,并使用被盗凭证登录。


carlos
jsj56afvshbm5ozfl4qg

9bb4f704b1524d3ea07082717c970eae.png2cd33edb39df449aa9f836f6c5f66a36.png


8、多步骤流程中的访问控制漏洞


1、许多网站通过一系列步骤实现重要功能。当需要捕获各种输入或选项时,或者当用户需要在执行操作之前查看和确认细节时,通常会执行此操作。


如更新用户详细信息的管理功能可能涉及以下步骤:
1、加载包含特定用户详细信息的表单。
2、提交更改
3、查看更改并确认。


2、有时网站会对其中一些步骤实施严格的访问控制,但忽略其他步骤。如假设访问控制已正确应用于第一步和第二步,但未应用于第三步。实际上,网站假设用户只有在他们已经完成了被适当控制的第一步骤的情况下才将到达步骤3。在这里,攻击者可以跳过前两个步骤,直接提交包含所需参数的第三个步骤的请求,从而获得对函数的未授权访问。


3、涉及实验:


实验10:多步骤流程,其中一个步骤没有访问控制


实验10:多步骤流程,其中一个步骤没有访问控制


这个实验室有一个管理面板,它有一个有缺陷的改变用户角色的多步骤过程(可以通过使用凭据administrator: admin 登录来熟悉管理面板)


要解决实验室问题,使用凭据 wiener: peter 登录,并利用存在缺陷的访问控制来提升自己成为管理员


part:


使用管理凭据登录


0ba04476bde942128e5eff46fcbd2a6c.png


浏览到管理面板,提升carlos,并将确认 HTTP 请求发送到bp的repeater


流程一:

ddb14744294049659257a61638ed73e0.png



流程二:


33c34cd779d84cd8a2b399768d325d6b.png


part2:


打开一个私有/匿名浏览器窗口,并使用非管理员凭证登录。


beeccd39f293441b84647a35856ff9ce.png


获取非管理员cookie

64ab1ab8a7944203b8eb10d496dc7b87.png



part3:


将非管理员用户的会话 cookie 复制到现有的转发请求中,将用户名更改为已有的用户名,然后重放


流程一:(会有鉴权)


提示未经授权


43af2bf17acf4608a556bccb4d39b514.png


流程二:(提权成功)


302跳转和原始数据一致


fea40a5126494b2e8c534c07b2812d19.png

b434df9f26a14f64af672944f0b2f451.png


9、基于引用的访问控制


1、原理:某些网站基于访问控制Referer HTTP请求中提交的标头。该Referer浏览器通常会在请求中添加一个标头,以指示发起请求的页面。


2、示例:如假设某个应用程序在主管理页上强制实施访问控制/admin,但对于子页面,如/admin/deleteUser用户只检查了Referer标题。如果Referer标头包含主/admin URL,则允许该请求。


3、利用:在这种情况下,由于Referer头可以完全由攻击者控制,他们可以伪造对敏感子页的直接请求,提供所需的Referer头,从而获得未经授权的访问


4、涉及实验:


实验11:基于引用的访问控制


实验11:基于引用的访问控制


这个实验根据 Referer 头控制对某些管理功能的访问(可以通过使用凭据administrator: admin 登录来熟悉管理面板)


要解决实验室问题,使用凭据 wiener: peter 登录,并利用存在缺陷的访问控制来提升自己成为管理员


part1:


使用管理凭据登录


5adec4ae682b4569bdb00ab02f5d58ad.png


浏览到管理面板,提升 Carlos


5b73ac6be4d141dcbfe496af2acc4b66.png


d499036c974a4721943fa241efaf8af8.png


然后将 HTTP 请求发送到BP的repeater


af6bcdb819da4f42903debcd902e5ce2.png


part2:


打开一个私有/匿名浏览器窗口,并使用非管理员凭证登录


wiener: peter

1f61d6af8d7b4d6a8680230e1be3adbe.png



在/admin-role?Username = carlos & action = update请求中,如果缺少 Referer 头,请求被视为未授权


将非管理员用户的会话 cookie 复制到现有的 Burp Repeater 请求中,将用户名更改为已有的,然后重放

f34b88e55fcd494da6a0651ac320ba85.png


和原有数据一样进行了跳转


0b7f75cb980349029b37cd73387e0d33.png

65f17ccff68c4c3580f8dc2f9a9213be.png


10、基于位置的访问控制


1、一些网站基于用户的地理位置对资源实施访问控制。如这可以应用于州立法或业务限制适用的银行应用或媒体服务。这些访问控制通常可以通过使用Web代理、VPN或操纵客户端地理定位机制来规避。

7d62be979184459ab44139ed85f387fe.png

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
目录
相关文章
|
3月前
|
安全 网络安全 数据安全/隐私保护
【专栏】IT 知识百科:访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限
【4月更文挑战第28天】访问控制列表(ACL)是网络安全的关键机制,用于定义和管理网络资源的访问权限。ACL工作原理包括定义规则、匹配规则和执行操作。标准ACL基于源IP过滤,扩展ACL则提供更多筛选条件。时间及用户基础的ACL提供更细化的控制。优点在于增强安全性和精细管理,但管理复杂性和性能影响也是挑战。未来,ACL将趋向智能化和自动化,与更多安全技术结合,以提升网络安全。**
273 0
|
2月前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
24 0
|
3月前
|
数据库 数据安全/隐私保护
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
在阿里云中,访问控制(Resource Access Management,简称RAM)是权限管理系统,主要用于控制账号在阿里云中
572 3
|
3月前
|
存储 数据安全/隐私保护 C++
第十五章:C++访问控制权限、继承和多态详解
第十五章:C++访问控制权限、继承和多态详解
250 0
|
8月前
|
分布式计算 DataWorks MaxCompute
在DataWorks中进行数据访问控制权限申请
在DataWorks中进行数据访问控制权限申请
100 1
|
10月前
|
安全 网络安全 数据安全/隐私保护
修复ICMP权限许可和访问控制漏洞
修复ICMP权限许可和访问控制漏洞
369 0
|
安全 数据安全/隐私保护
JeeSite 访问控制权限
JeeSite 访问控制权限
183 0
|
数据安全/隐私保护
访问控制列表 扩展ACL+命名ACL+实战小实验
访问控制列表 扩展ACL+命名ACL+实战小实验
102 0
访问控制列表 扩展ACL+命名ACL+实战小实验
|
存储 JSON 前端开发
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
350 0
【BP靶场portswigger-服务端7】访问控制漏洞和权限提升-11个实验(全)(上)
|
Java 数据安全/隐私保护 开发者
Java 包及访问控制权限
学习内容: 掌握包的定义及使用。 掌握Java新特性一一静态导入。 了解Java中的常用系统包。 掌握jar命令的使用。 掌握Java中的4种访问权限。 掌握Java语言的命名规范。
136 0
Java 包及访问控制权限