Ron Chan,中国香港人,现专职网络安全顾问和漏洞挖掘专家。Ron于2013年香港科技大学纯物理专业毕业,之后转入销售工作。在进入漏洞众测之前,他用了1年时间学会黑客技术,并通过了Offensive Security Certified Professional (OSCP)认证,并慢慢尝试参与漏洞赏金项目,通过不懈努力,Ron发现了Google、Uber、Yahoo、Spotify、Lyst等多家知名公司网站高危漏洞,更是Uber 和 Yahoo漏洞项目的优秀致谢人员。目前,Ron Chan以277个漏洞的上报量排名HackerOne榜单第26位,是为数不多的华人Bug Hunter。
此前,3年的销售工作令Ron感到心身疲惫,曾经对网络安全的兴趣激起了Ron的决心,他决定放手一博。他一边工作,一边自学编程和其它课程。在应考OSCP的过程中,Ron坦言最大困难在于计算机基本功不足,在两次考试应考失败之后,他花了约1年时间才成功完成所有课程并收获OSCP认证。而在参与漏洞赏金项目的过程中,他擅长总结经验,总会认真阅读并彻底理解别人的漏洞分析文章,力求从中有所所获。我们一起来听听Ron Chan的分享。
Q:感谢你接受我们的采访,先向大家介绍一下自己吧!
大家好,我叫Ron Chan,是来自香港的一名Bug Hunter。我最早开始接触黑客技术是在2016年4月,那个时候我不知道从何开始,后来我发现了一个很有意思的在线黑客技术教程 – OSCP。经过学习,我购买了OSCP的60天Lab环境练习,开始在其实验环境中学习主机渗透提权。很幸运,最终我通过了测试获得了OSCP认证。再之后,我看到了台湾安全研究员蔡政达(Orange Tsai)发表的通过SQL注入实现Facebook远程代码执行(RCE)的文章,由此接触到了漏洞赏金(Bug Bounty)领域。
当时对我来说,别人发现的一些漏洞技术细节非常让我开眼,另外漏洞赏金平台也对我非常具有吸引力,我之前从没听说过可以通过漏洞赏金平台来合法赚钱。长了见识之后,我就每天不停地阅读分析别人的漏洞分析文章,最终我也从雅虎众测项目中发现了自己的第一个漏洞,收获了第一笔不菲的漏洞赏金,也开启了我自己的漏洞赏金之路。自那以后, 雅虎(Yahoo) 和优步(Uber)也成了我最喜欢参与的漏洞众测项目。
Q: 你如何来协调分配你的个人生活、工作和漏洞赏金时间?你把漏洞赏金看成一项专职工作还是仅只是个人爱好?
怎么说呢,我会这样来分配日常时间的,个人生活可能占据20%,工作可能占据10%,漏洞赏金占用时间较多,接近70%,所以我会投入大部份时间来挖掘漏洞。
Q: 在某个具体的漏洞挖掘中你一般会投入多少时间?每个月你的平均漏洞产出是多少个?
我曾经有个全年粗略统计,在上半年时间里,我每月的漏洞上报量会是5到10个低危漏洞,下半年每月的漏洞上报量可能又会是 20到40个。这说到底多少还和运气有关。比如说,如果在某个月,雅虎决定对其Flickr服务进行一些更改调整,那么在这个月里,我可能会发现更多漏洞。
Q: 你发现的第一个高危/高赏金漏洞前后共用了多长时间?
我的第一个高危漏洞算是雅虎的吧,收获的赏金也非常可观。非常幸运,因为当时只有香港居民可以使用雅虎的支付功能,恰好那个时候在香港也没多少 Bug Hunter。所以,当时花的时间也并不算太长。
Q: 在所有你发现的漏洞中,哪一个是你自认为非常不错或比较喜欢的?
可能要属 Google Bug Hunter’s Account Takeover 这个漏洞吧,你可以点此阅读。这是因为按照漏洞技术规范来说,Google自身服务并没任何错误配置,仅只是在302响应头的字符编码时,IE的奇怪操作最终导致的账号劫持行为。
Q: 你认为你自身技术比较大的突破提高发生在什么时候?是如何实现的?什么时候你确定漏洞赏金行业是你值得投入精力去做的?请和我们分享一些你在此过程中成为公认白帽黑客所经历的见解以及遇到的一些问题。
我认为我的主要突破提高应该是阅读了zseano的一篇技术文章后吧,他在文章中演示了如何利用开放重定向漏洞实现Facebook关联账户的劫持,整个技术过程不仅让我印象深刻,还让我见识到了漏洞“以小见大”的境界。
读了zseano的这篇文章之后,我就尝试着在我参与的漏洞众测中借鉴他这种思路来测试,最后我竟然发现还真有几个项目中存在这种开放重定向 + facebook账号劫持式的攻击。在项目参与中,我不仅会测试开放重定向 + facebook账号劫持式攻击,还会把zseano的技术思路应用到认证登录流的漏洞发现中去。因此,也就是在那段时间,我发现了Uber的多个Oauth认证漏洞和Flickr的账号劫持漏洞。受zseano的这篇技术文章启示,我前后共赚了将近4万美金的漏洞赏金,之后也更加热爱漏洞众测行业了。
我在这波突破提高之前,我遇到的问题是,对一些漏洞分析文章没有全面整体的认识,我估计这也会是大多数白帽新手会遇到的问题吧。比如,当我第一次看到fin1te的Turning Self-XSS into Good-XSS文章时,我能理解其中的基本利用方法,但深入考究自己,却不明白作者为什么必须用到内容安全策略(CSP),以及登录CSRF会遇到的问题,等等等等,但就是这些所有琐碎的细节,最终才形成了一次厉害的漏洞测试,以及一篇优秀的技术分析文章。但当时我却一无所知。在有了突破提高之后,fin1te发现的所有漏洞我都会及时关注,也认真阅读了他之前所有的技术分析文章,从此,我理解的世界就和之前完全不同了。
Q: 你一般通过什么渠道来获取一些趋势更新?
Twitter。
Q: 你会和其他白帽黑客一起合作吗?方便透露一两个吗?
我最近就和@cache-money一起在Uber漏洞众测中有过合作,还一起上报了几个漏洞。平时当我遇到问题时,我会向@filedescriptor请教,这种也不算合作了,更多的是一些经验请教。
Q: 说说你是如何分析一个目标的?你的常规方法是什么?你的前期踩点过程是什么?一般你会着重去收集什么样的目标信息?这些信息的效用如何?