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

访客5年前黑客文章1045

在几个月前,我有幸被约请参加了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]  黑客接单网

相关文章

红客论坛,在哪里找手游黑客,支付宝被骗 找黑客

Ben Murphy’s blog on using DNS rebinding to own Rails获取到了站点绝对路径了,试着写一句话2、最长单词(LongestWord):最长的字符串或许潜...

怎么找黑客高手接单,找黑客师傅盗号,找黑客鲁贷

棒极了!现在是时分拿CredCrack去实践一下了。 在下面给出的这个视频中,研究人员Alton会运用CredCrack并在17秒内得到方针网络的网络管理员凭据。 趁便提一下,他也许是我所见过的打字最...

密码登录在这里_美容费找黑客拜师傅-丢狗找黑客被骗

「密码登录在这里_美容费找黑客拜师傅-丢狗找黑客被骗」Channels: bctf }The password for the next level is stored in the file dat...

一分钟盗微信号方法,中国黑客联盟怎么联系,武汉黑客组织专门找小学生

</form>360移动安全团队剖析发现,道有道广告SDK使用静态和动态相结合的手法,与杀软特征进行持续性的对立,然后逃避杀软的查杀。 翻开 [我国菜刀] 衔接一句话木马;CVE-2019...

怎么找黑客「怎么找黑客高手联系方式」

怎么找黑客「怎么找黑客高手联系方式」

黑客高手不知道在哪里找,也不知道编程高手到底有多高!黑客我也不知道有多黑,只是说说怎么找到一些会某个方面电脑技术的人,不得不说在中国QQ/微信已经渗透到很多人中了,微信我就不说了,各种微商,就说说qq...

手机号找人_怎么找黑客帮忙黑客联系QQ是多少-找黑客盗抖音号

「手机号找人_怎么找黑客帮忙黑客联系QQ是多少-找黑客盗抖音号」$this->updateCommentNum($blogids);QQ:1957692IScannerInsertionPoin...