首页 > 技术文章 > 第二届i春秋挖洞大赛的一些感想

r00tuser 2018-07-18 16:31 原文

挖洞比赛嘛,根据规则就是一个问题,如何在短时间内挖到更多、等级更高的漏洞?

先分析这个问题,需求是什么?

更多?

等级更高?

短时间内?

首先要解决的是时间的问题

时间有限,所以你必须要快。如何快?把整个挖洞的流程走一遍,用最少的时间。

  • 提前准备。因为众测或者挖洞比赛往往还没开始就已经把目标放出来了,所以可以在开始之前的前几天进行准备。将目标的资产摸一遍,整理好,去了解对方的业务,开始第一阶段的挖洞。

  • 对各种漏洞类型原理熟悉,能够在目标身上进行套用。只能在平常的时候多练,多总结。对于不同的业务方,可能会存在哪些特殊的风险点,与及常见的一些风险点。多看看乌云上厂商的历史漏洞,进行整理,对于其薄弱环节进行统计和总结。

  • 应对各种漏洞特殊场景的快速处理能力。其实就是骚操作,多去跟踪大佬的博客,学会总结。把姿势都拿小本本记下来。

  • 熟练掌握各种辅助工具。只能在平常的时候多练,多总结。

  • 拥有自己的神器

其次是更多的问题

漏洞是存在有等级的,有低有高。常见的漏洞类型并不一定是厂商所接收的。所以最好是看一下目标所收取的漏洞类型,然后根据漏洞类型去挖取。因为在前面的准备阶段已经进行了一阶段信息收集与熟悉业务,那么这个时候就是按照漏洞类型来挖取了。

  • 利用神器,工具。要想挖多,但是又不限等级,最好的方法莫过于用工具去批量扫了,减少了人工去发现的漏洞风险点的时间和精力。要做的就是验证工具扫出来的是否有效。这个取决于工具是否高效了,误报过多,验证也是体力活,反而浪费了时间。比如用chrome headless来批量扫反射xss,也是可以的。前提是厂商收取。

  • 柿子要挑软的捏。这个道理相信大家都懂。一个src或者是有自己安全团队的厂商,在放出业务来众测的时候,早就已经自己在内部测了一遍了。也就是核心业务的重要功能点都是已经被测过了一遍的了。所以要想挖的多,就得找软柿子捏,也就是边界业务,不是很重要的业务。往往测试的比较少,可以挖出一些来。

  • 风险不高的漏洞。内部测试往往测的不全,业务赶着上线等等其他情况。就会出现在低风险漏洞类型往往测的比较少。可以尝试针对低风险的漏洞进行测试。

再来就是等级的问题

大多数人都知道了上述步骤,那么如何与别人不一样,拉开距离呢?那就是高等级的漏洞了。

前面说过,在这么多人测试并且已经测过了的情况下,如何发现高危漏洞?

高危漏洞往往是这两种

  • 针对传统漏洞的类型去挖掘。比如ssrf,sqli,命令执行。

  • 针对业务安全去挖掘。比如越权、逻辑缺陷导致的信息泄露等。

在哪里发现呢?

  • 传统漏洞类型的话,无论是核心业务还是边界业务都是有可能出现的。

  • 而业务安全的话,就只能是一个个熟悉业务,挖掘业务在处理过程中最不起眼的点,将一切不起眼的点联系起来。

怎么做呢?

  • 传统漏洞的话,神器一把梭就完事了。

  • 业务方面就是地毯式扫描所有业务,测试所有功能点,查看所有流量包。细心加猥琐思路

漏洞挖掘,最重要的是信息收集,资产等信息尽可能的收集全,提高自己发现漏洞点的几率。

实际上在整个挖洞过程中,都是在不断的重复信息收集的过程。。。

但以上,都比不上运气。。。

总结

以上是自己在这一次的i春秋挖洞大赛的一些感想,其实上面说的那些大家都知道,我只是写出来记录一下罢了。

这次挖的不多,很懒。大赛七天时间,从周三开始,周四周五这两天在划水,几乎没怎看,而周末更是去玩守望屁股去了。。。

等到最后两天的时候才想着补一下洞。结果发现自己对于业务的不熟悉,信息收集的不全,也是挖不了什么洞。

就这样结束了为期七天的线上挖洞比赛,成绩当然是不太好。。

总的来说,信息收集越全,攻击面也就增大了,提高了挖到洞的概率。

功能点就那么多,那么多人挖,憎多肉少的。

在同等工具的起跑线上,能发现漏洞点那是你的运气,而能够利用起来就是你的本事了。

后续线下决赛,没有去,主要是身体不舒服,哎。

推荐阅读