mail.ru合作伙伴网站的管理平台的200万用户信息被披露
最近,我从漏洞悬赏网站上面随意浏览悬赏网站看是否能碰运气撞到漏洞,同时也可以从披露的漏洞信息中学到一些经验。为了在HackerOne提升排名,我决定在mail.ru
站点上寻找漏洞。
本文将讨论mail.ru
的主站以及子域名中的一些漏洞,其中一个漏洞可以未授权的情况下可以访问管理员面板,查看200万用户个人数据信息(如电子邮件/电话号码,家庭住址),涉及俄罗斯10多家热门网上商店。
为了在hackerone提交漏洞,我对3000个子域名全部进行逐一排查,并大约在3个月的时间内我提交了45个有效漏洞(40个现已修复,5个漏洞正在处理中)。
前段时间我开始研究子域名redacted_shop.mail.ru
,这也是一个的网上商店。
大多数据情况下,渗透测试是从个人账户功能开始。该网站登陆方式有俩种:其一为通过o2.mail.ru
进行Oauth(第三方网站账户)授权登陆,其二是通过电子邮件验证登陆。第二种方法的登陆流程为:用户输入邮箱,后端服务器发送验证到用户输入的邮箱,用户通过获取邮箱中的验证码输入验证表单进行登陆。在这里我发现了第一个漏洞,身份证验证漏洞:
当上用户输入验证码时,网页会自动将该验证码以表单形式发送到 redacted_shop.mail.ru 进行检测是否可以登陆,该功能通常被称为"自动登陆",往往出现在WAP站点中。因为该方法不安全性,所以使用这种方式进行登陆验证的情况很少。
漏洞影响:
黑客可以通过暴力破解,伪造登陆验证码自动登陆
自动登录连接是可以被搜索引擎被搜索到,容易被黑客滥用
通过可以自定义字典的dirb爆破目录之后,我开始测试表单功能,往表单的不同地方插入payload。但是有CSRF令牌,没有成功的绕过,同时通过模糊测试,也没发现的漏洞。
最后,我在我的个人资料以及评论写入了xss代码。
在00:10,我的xss平台收到了来自admin.xx.com/index
站点的信息。但是我一开始认为登陆不了管理页面,因为大多数对情况下cookie受到了HTTP ONLY 的保护。
但是,我还是成功的进入了管理页面。该站点看起来像一个2000-2006年的管理系统,设计有很多缺陷,并且有很多php和SQL报错信息。
在我查看了主页信息之后,发现该管理页面与 mail.ru
相关,并且 redacted_shop.mail.ru
子域名上的订单是被第三方管理(后来我了解到redacted_shop.mail.ru
不是由mail.ru
开发的)。在管理面板中,可以查看、编辑和删除10多个网上商店中所有用户的订单,以及查看2017271个用户的个人数据。第二个漏洞xss被确认。
管理页面有一个功能可以下载所有用户信息,但该功能的php代码有bug不能下载,因此只能通过用户ID进行搜索用户信息。
当我进入管理面板并做了几张截图后,我立即写了一份安全报告。
00:20给目标管理员发送了一份详细报告。大约在00:43,mail.ru
的安全主管 Sergey Belov 回复了我,并要求停止对我立即停止攻击。
第二天我发现该管理页面已经无法访问,该漏洞可能已经被修复。
不幸的是redacted_shop.mail.ru
子域名不属于mail.ru
的测试范围内,无法获得漏洞奖励。但是我不甘在这个漏洞上花费的努力和时间,于是联系了管理面板本身的开发人员,并获得了奖励。
此外我还发送了一份报告,描述了第一个身份验证漏洞。但是,后面我收到来自mail.ru
的测试人员的消息说无法重现这个漏洞,很明显自动登录功能被开发人员禁用了。
几个月后,我发现自动登录功能又被打开了,我告诉了开发人员。终于,几天前,这个bug终于被修复了。
结论:
- 切勿在授权中使用自动登录。
- 通过ip,限制对管理面板的访问。
- 不要在管理面板中使用过时的软件。
- 在管理界面中过滤禁用字符["<>'/]以避免出现XSS漏洞
安全测试人员提示[Blind XSS]:
- 在后台所有可能接收到用户输入的地方尝试插入xss代码。
- 试试多种不同的html标签来绕过安全过滤。
- 如果
<>
被过滤,试试另外一种xss代码";alert(1);//
。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/bugbountywriteup/bug-bounty-mail-ru-234fa6f5a5a
最新评论