衔接多个缝隙获取管理员拜访权限

访客5年前黑客文章1008

在几个月前,我有幸被约请参加了HackerOne上的一个私家项目。该项目遭到一系列IDOR缝隙的影响,经过对这些缝隙的运用,我成功接管了他们的一个运用。因为保密协议的约束,因而在本文中将不会呈现任何实在称号或与公司相关的信息。但我会更大极限的共享我从普通用户晋级为办理用户的详细进程。
侦查
这个阶段的使命十分简略:该项目将一切站点和子域都包含在了测验范围内,走运的是数量并不巨大。经过一番检查,有两个子域引起了我的留意app.site.com和admin.site.com,下面咱们就以这两个子站为切入点。
知己知彼百战不殆
在对任何的运用测验之前,我都会先依照方针运用的正常流程走一遍。在此期间,我会在后台运转burp阻拦恳求和接纳的数据,以便我更好的剖析运用的履行进程。
中心运用(app.site.com)十分的小,经过几个小时的折腾,我简直一无所得……说实话,我都有点想抛弃了~
第2次测验
中心运用上的一无所得着实令我有些绝望,还好还有一个办理站点(admin.site.com)。那么,有没有什么 *** 能够拜访到办理面板呢?经过几回测验,页面都只向我回来了一个“access denied”回绝拜访的提示信息,底子无法获取到任何的页面内容。就当我快要抛弃的时分,我惊讶的发现当运用VPN进行衔接时,回绝拜访提示居然消失了,而且页面内容也能看到。我不知道为什么我的VPN供给商,答应我拜访其内容(详细原因我也没有调查过,至少现在对我来说是十分有利的)
我拜访了办理站点,并被提示输入登录凭据。此外,这儿还有一个下拉菜单供给了:1.登录 2.注册 两个选项。
我测验了注册选项,API为我回来了一个“注册失利”的过错提示。这也在我的意料之中,让咱们经过burp来检查下恳求数据。
连环运用
注册表单向办理站点上的/api/register端点宣布恳求,之前在中心运用上恳求的也是这个端点。但这儿丢掉了一部分信息:办理站点上的原始恳求如下:
POST /api/register HTTP/1.1
Host: admin.site.com
{"firstName":null,"lastName":null,"login":"email-address@site.com","email":"email-address@site.com","password":"hunter2"}
让咱们将其与中心运用的恳求进行比较:
POST /api/register HTTP/1.1
Host: app.site.com
{"firstName":null,"lastName":null,"login":"email-address@site.com","email":"email-address@site.com","password":"hunter2","securityQuestions":[{"questionId":"1","answer":"test1"},{"questionId":"2","answer":"test2"}]}
经过比照能够看到,办理站点的恳求缺少了securityQuestions。假如咱们将该缺失部分增加上去,咱们就能够在办理站点上成功注册帐户。但这儿有一个问题,办理站点要求运用2FA进行身份验证。这种状况咱们能够测验烧过,例如给它一个空或随机值。这儿我随意填了串数字123456作为我的身份验证码,如我预期的那我成功经过了验证。(因为我并没有2AF设置,因而填写任何数字都应该是有用的)。到这儿,问题仍没有彻底处理。因为我的用户权限较低,因而只要对一些页面不幸的只读权限,包含配置文件和一些其它的文件。但不得不说这是一个十分好的开始!
稳扎稳打
办理站点有一个设置菜单,答运用户修正他们的电子邮件地址,暗码和2FA设置。当我测验更改我的信息时,页面会回来“Something went wrong”的提示,但因为我的帐户中没有设置2FA,因而我能够经过发送空POST恳求来进行修正:
POST /api/users/newAuthenticationCode/46774
HTTP/1.1 Host: admin.site.com
回来一个键值:
{"newKey":"YNFTHSAJVOR3RS6B"}
当页面加载时,这儿还有另一个到/api/users/authenticationCode/YNFTHSAJVOR3RS6B的恳求加载我的QR码。你或许现已猜到,我能够替换我的user_id (46774) 为恣意用户创立新的身份验证码,并运用恣意的2FA东西(如Duo/Google Authenticator)在我的设备上运用QR码注册它。
获取用户数据库
我仅有拜访的一个页面是一个空的“users”页面,该页面并没有为我回来网站上任何的用户信息,但它答应咱们进行搜索。GET恳求如下:
/api/users/search?page=&size=20&ascending=true&orderBy=Login&searchString=My_SEARCH_STRING&userRole=
假如咱们删除了searchString,size和page的值,那么将会获取到整个用户数据库,其间包含UID,email,login_id,profile以及其他一些细节信息。
目睹纷歧定为实
现在我已获取到了满足的信息,我想测验看看是否能获取到更高的拜访权限。当用户测验在办理站点内更改其用户详细信息时,运用程序将宣布以下恳求:
PUT /api/users HTTP/1.1
Host: admin.site.com
{"id":46774,"login":"email-address@site.com","firstName":null,"lastName":null,"email":"email-address@site.com","activated":true,"locked":false,"failedLoginAttempts":0,"authorities":["ROLE_USER"],"authenticationKey":"BHUVCONYHGLMUSAM"}
我测验将我的id替换为其它用户id,并企图修正他们的用户数据,但这并没有成功。这使我意识到,或许“Something went wrong”的过错提示仅仅一个假象,实际上帐户信息早已被成功更改。换而言之便是:即便运用程序成功进行了更改,也照样会回来过错提示。当我提交陈述时,我恳求厂商答应我更改其间一个办理员帐户的信息,而且答应我运用特定的用户ID测验帐户。
衔接缝隙
现在咱们现已承认,能够经过更改id值来创立新的身份验证码和更改其他用户帐户。我测验运用获准的特定用户ID user_id (user_id:3)进行测验。我首先为2FA创立了一个新的QR码,并导入到了Google authenticator中,然后我更改了电子邮件地址并重置了其暗码,并终究成功登录到了该帐户!

[1] [2]  黑客接单网

相关文章

广州职业黑客接单_可以找黑客看别人微信聊天吗

效果:Windows PowerShell 将记载指令、脚本块、函数和脚本的处理,不管是以交互方法调用仍是经过主动方法处理· 加拿大的圣弗朗西斯·格扎维埃大学(St.Francis Xavier Un...

杨休,找黑客查老公跟别人的微信聊天记录,网上找的黑客靠谱么

运用selinux ,设置security context -l list available modules1Nmap这儿有个南边站点:www.gu*******na.com http://cool...

微信共享实时位置修改_大学如何找黑客改成绩-找黑客帮忙查资料

先进入DVWA调整形式为LOW微信共享实时位置修改,大学如何找黑客改成绩 仿制代码3.进犯微信共享实时位置修改,大学如何找黑客改成绩,找黑客帮忙查资料$yourport = "2333"; 影响...

网络安全,如何找黑客删除视频,找黑客追款

要提到装置完结JDK后为啥还要装备一下环境变量,或许许多Java的初学者或许有学过Java的朋友或许都未必能够彻底的答复的上来。 其实,所谓的环境变量,就是在操作体系中一个具有特定姓名的目标,它包含了...

mac触摸板怎么右键,qq黑客联系,找黑客刷网贷数据库

这篇文章翻译至我的这篇博客,首要介绍了一种叫做BROP的进犯,该文章首要介绍原理部分,对该进犯的重现能够参看我的别的一篇博客。 public bool IsReusable...

找一个黑客,只是帮我找回自己的一个视频数据,价

Windows 操作系统远程桌面协议(RDP)定义了通信双方在虚拟信道间的数据通信方式,支持客户端建立点到点的连接。 这种虚拟信道为双向数据通道,可以扩展RDP的功能。 Windows Server...