我捡到一个10W的洞

每个人都想当世界的英雄,能披荆斩棘,奋勇杀敌。

我眼前的这个孩子叫 Jerry ,是个刚毕业的社畜。第一次和 Jerry 的对话很平常:“ Hi,我从 github 来的。”然后我邀请他进了官方微信群。看到这个 id,自然想到了我们小时候的动画片“ Tom and Jerry ”。果不其然,我问他为什么叫 Jerry ,他说希望自己能像 Jerry 一样聪明。Jerry 给我的印象是一个熟悉黑客技术的规矩男孩。那时候我并不知道这位小男孩会有这么大的爆发力,不然我当时肯定好好抱一下大腿。

从羡慕到放弃,我连学弟都不如

Jerry 第一次产生自动化挖 bug bounty 的想法是源自他的学弟,学弟用一款社区版被动扫描器在星巴克官网扫到了一个反射 xss,而星巴克的 bounty 价格让他这个刚毕业的社畜非常羡慕。他说:“我的学弟们都很强,其中有一个学弟曾在先知发过一篇文章,具体内容现在已经不重要了。不过挖到星巴克 xss 这个事情给他留下了很深的印象,从而让他产生了挖国外 bug bounty 的想法。”

马爸爸总说,“梦想总是要有的,万一实现了呢”。但理想和现实又好像总是相反的。在尝试了无数次扫描,并未挖到任何一个漏洞后,Jerry 的自动化挖掘之梦也随之放弃。

重燃对 bug bounty 的兴趣到第一个300美金

xray 发布社区版一段时间后,360的 0kee team 发布了一个爬虫 crawlergo,由于xray 社区版主打被动扫描功能,能渲染和爬取现代化前端页面的浏览器爬虫只在企业版中提供,而 crawlergo 是一款比较优秀的浏览器爬虫。xray 社区很快发布了《 xray 与 crawlergo 动态爬虫联动》技术文章,以弥补自身的不足。

这篇文章让 Jerry 产生了用 crawlergo 结合 xray 挖 bounty 的想法。好的爬虫+好的被动扫描——这不就稳的很。

说干就干,当天 Jerry 就写了第一版批量扫描的 demo,虽然现在看起来粗糙的很。( Jerry 一直想写一个 xray+crawlergo 的分布式扫描器,这是最初原型。)写完之后随即在 github 找了一个国外的 bug bounty 收集项目,就直接开始跑了起来。

事情总不是一帆风顺,人生不免起起落落,何况挖洞。

在跑的过程中遇到了瓶颈:单个节点跑的太慢,几千个url不知道要跑到啥时候。——这TM可太难了!

Jerry 又开始四处求助,所幸360的大佬同学很快答应帮忙写了一个采用 celery 的分布式扫描器原型,使得单个爬虫节点能结合多个扫描节点。速度虽然不能说很快但是完全够用了。重要的是,接下来一周内扫到了一个 fitbit 的反射型 xss,拿到了首个bug bounty ——300美金。这笔钱给了 Jerry 一个挖 bug bounty 的信心。“它不再是遥不可及,我真的可以挖到。”Jerry如此肯定的回答。

“挖到第一个300刀后的一段时间我基本是天天熬夜挖洞和改扫描器的 bug 。由于个人编程功底较差,所以有些 bug 都是改了好几遍才解决问题,而扫描器又是要长期稳定运行的,所以那段时间真的非常的肝。而我给自己 bug bounty 定的方向决定了要把扫描器做成什么样。最后决定广撒网的扫描策略,在大量的目标中我相信总会有少数存在漏洞的目标,而这些目标就足以给我带来不错的收益。虽然说是这么说,但是在做的过程中还是遇到了不少问题。巧的是,当时微博抽奖刚好我抽中了 xray 高级版,高级版有子域名收集功能。我随之做了相关的 xray 批量子域名收集,子域名过滤等脚本辅助我的扫描。并且为了能实现广撒网的目标,使用了8-10个扫描节点同时进行分布式扫描。” Jerry 回忆说。

赌上服务器的全部费用捡来了1w+usd

在1月份获得了300刀奖金后,之后的一两个月里 Jerry 基本没有收获,反倒是白白花了将近3000元的服务器费用。不过这次 Jerry 像是动画片里的 Jerry 一样聪明了,从只挖国外 bug bounty 转到尝试国内的 dvp 漏洞平台,在2-3月份的时间节点里在 dvp 平台获得了接近8000RMB的收入,这无疑给了 Jerry 重拾 bug bounty 的信心。

Jerry 说:“我至今都还觉得这不可思议。3月16号凌晨,我睡前收到了 server 酱的漏洞提示,扫到了某国外运营商大厂 bounty 范围内的域名可能存在 cmd injection 漏洞。看到的第一时间我就爬起来复现该漏洞。当时一开始我还没太当回事,先用 ping 命令接受到了 dnslog ,感觉这一次有戏,于是又尝试了用 whoami 外带请求,成功执行命令并且获得了回显,当时我就立刻去 hackerone 提交了漏洞,由于时差的关系,hackerone 很快便回复了我,他们验证成功并且转给厂商确认漏洞了。过了一周左右,他们修复了漏洞并且给了我 1w+ usd 的奖金作为漏洞赏金。这个奖金数额是我在挖洞之初完全没想到的。我真的特别惊喜和兴奋。”

野路子出身的“带黑客”果然都很厉害

后来我才知道这位大男孩来自一个没有信息安全专业的湖南某大学。他说很感谢 xray 团队的开发师傅们和360的那位大佬同学,当然,我相信他还是很感谢自己,这段时间的付出终于有了一个 happy ending。

安全圈野路子出身的不在少数,比如我们熟知的 TK 教主于旸、黑哥。未来的道路还长,希望 Jerry 不忘初心,越走越远。