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

访客5年前黑客文章1005

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

相关文章

免费黑客接单网_黑客技术通过微信找手机

sudo apt-get install mono-complete模块日志传统安全软件对Powershell的防护不甚完善,经过Powershell进行网络勒索,挖矿的歹意软件越来越多,进犯方法也越...

朋友借我的钱去赌博了这钱还能要回来吗我一哥们借了

安装配置Exchange Server,参考复现环境补丁下载链接朋友借我的钱去赌博了这钱还能要回来吗我一哥们借了, 研究人员在Comodo Antivirus / Comodo Antivirus A...

黑客接单微信_淘宝上找黑客

现在存在的一切依据,都将这个新呈现的Hades安排与Zebrocy联络在一同,因而能够确定与Sofacy歹意安排相关,一同也作为BlackEnergy、GreyEnergy、Sandworm集群的一部...

我参与了一场赌博输了好多钱发现他们玩假我输的钱

Windows 7 x86结合着反汇编代码看,效果可能更好CVE-2019-3799漏洞原理:由于spring-cloud-config-server模块未对传入路径进行安全限制,攻击者可以利用多个....

学信,怎样联系黑客攻击别人的电脑,找黑客破解个软件多少钱

2)OK,去找上传点Substring right:标题需求难度适中。 假如太刁钻,简略让人抛弃,并发生报复心思,抛弃往后余下的时刻便是给你捣蛋的时刻。 也不能太痴人,太痴人的标题被人分分钟秒了,余下...

有黑客先接单后收费吗_找黑客盗微信密码软件下载

这些走漏办法你或多或到都会有所传闻,可是在实际操作中,获取手机号的难易程度却是从上往下顺次递减的。 什么是 AFLSmart case 1: {在JavaScript中,你的方法是运用名为web wo...