曾经作为一名想黑盒出CNVD的小白,我几乎看遍了所有公开的关于挖CNVD的文章与视频,什么CNVD收录条件啊,利用搜索引擎啊,刷弱口令啊,复现三例凑足十个案例啊......
但对于一个小白而言,这些 又似乎总是get不到我想要的那一个点。
看那些CNVD漏洞复现好简单,但自己又总是出不了洞,实际上手又遇到各种各样的问题。不过没关系,现在作为一名勤奋型“大白”,我把自己的实操经验分享给各位小白。
先对挖CNVD做一个简单概述:一个公司开发出一款产品,然后就把产品卖给其它公司用,如果你找出这个产品的漏洞了,那么所有使用这个产品的公司可能都会存在这个漏洞,凑足十例,然后上交就可以。(其实四五例就可以,只是多些更保险)
A:很多文章视频都提到过,就企查查找5000万资产的公司嘛,然后找软件著作权去空间搜索引擎搜嘛,好,去搜吧,一搜一个不吱声......
Me too......据我的经验来看,很多产品放在空间搜索引擎,它都不会用产品原本的名字或者简称,用这种方法时,你需要用产品的一些关键词,公司简称进行搜索。而且并不是一定能搜出来的,这里就要大量尝试了。
还有!并不是这个公司的所有产品都会放在企查查上面!
比如上面这个你就可用web.title=”创富港”或者web.body=”方圆间”先进行大范围搜索。
鹰图主要语法:web.title=”关键字” web.body=”关键字”
可以用&&连接进行模糊搜索。
关于搜索引擎,其实可以不用开会员,我建议主要用鹰图进行大范围搜索,明确目标后用fofa搜索。还有在挖掘CNVD时,那些资产不够,不能凑足案例的漏洞可以交到补天上,因为可以换库币,然后用补天库币换鹰图的积分,完美,哈哈......
B:上一种属于是正向查找,其实除了上面讲的方法,还可以去CNVD历史漏洞找符合条件的资产,再自己提取关键字在搜索引擎进行正向搜索。
其它文章讲得很好,我就不过多讲解,接下来介绍反向查找。
就是先通过关键字:门禁,登录,后台管理,路由器这些找资产挖漏洞,或者通过google语法这些去找资产挖洞,再去反查漏洞产品归属,这里就会遇到一个极其极其极其让我头疼的问题了!!!
这是我经常遇到的问题,挖出漏洞了,而且通杀(就是满足我上面讲到的“挖CNVD概述”),但是!这个漏洞产品到底是谁家开发的啊!!!
这里注意一个问题,就像“挖CNVD概述”提到的一样,你需要去找漏洞产品的归属,而不是漏洞url的归属,因为漏洞url的归属是使用这个产品的公司,并不是开发这个产品的公司!
有些当然很好找,它带有不具有普遍性的关键字,或者特殊的图标,甚至有些在底部也写明了是哪家公司提供的产品。
上面这种就很好找,但是,如果遇到那种标题具有普遍性,一搜一大堆,没特殊的图标,没有写明是哪家公司的,查源码和js文件也不行,用已知关键词百度不出任何有用信息的“诡异”产品怎么办?
下面我就讲几个我经历过的产品归属查询的故事......
1:出0day通杀了,然后我就尝试找产品归属,我看登录界面显示了它的型号,感觉很特殊,就放到百度搜索,但完全没有任何相关信息,于是把型号放到google上搜索历史漏洞,还是没有任何信息,在CNVD历史漏洞关键字搜索该型号也没有。
发呆......发呆......
但是后来我在查看我搜集出来能够通杀的url资产时,我发现了一个很重要的点!有一个漏洞url的二级域名与这个产品型号是一样的!
一个公司做出一款产品,除了卖出去给别人用,他自己也可能会用,还有产品测试版这些,你觉得什么公司会把产品型号当作二级域名呢?
很明显,就是开发这个产品的公司可能会这样!
于是我把这个域名放到IP备案查询,最终完成产品归属查询。(上面已经讲过,为什么通常不直接用漏洞url去查产品归属)
2:照样是出洞通杀了,这次产品下面有一个技术支持某某公司,而且点一下还可以跳转到生产产品公司,你看到这是不是觉得找产品归属稳了?
我开始也这样觉得......
我先把这某某公司放到企查查去搜索,好,搜出来一大堆有这几个字的公司。不慌,我又点了一下产品底部那个跳转,发现跳转到另一个域名了,但跳转页面显示:该域名转让,有意请联系......没事,没公司界面信息,不还有个域名嘛,我又把这个域名放到IP备案,站长之家,历史DNS解析等各种平台查询,查询结果:没有结果。
头痛......
可能因为这个公司本身资金,信誉等等出了一些问题,或者倒闭了,导致无法查询。
不过后来我把企查查搜出来的那一堆公司一个个点开,拿那个跳转域名去对比,最后也是成功手动找出产品归属。
3:这次这个更加直接,什么信息也没有,连像上文一样的垃圾信息也没有,可能唯一的信息就是漏洞产品是一个登录框......
怎么找归属?
只有去根据挖洞过程看到的信息海量搜索了,我记得当时找到了另一个产品A,但说实话,时间过太久具体因为什么方法我忘记了。
这个A产品的界面跟我那个漏洞产品B的界面很像,我尝试在A产品归属公司的产品介绍里找是否存在B产品,无果。又在企查查搜该公司看下面是否有我挖出漏洞的B产品,无果。
好,没办法。
“嘟嘟嘟~您好,我......”,我向A产品所属公司一个电话打过去,记得礼貌点,先问A产品,再描述B产品。“是,是啊!这个B产品也是我们公司的......”
Ok,产品归属查询完毕。
还有好些故事先不说了,感觉自己找产品归属跟条狗一样,到处嗅,哈哈。
A:关于漏洞具体怎么挖掘,真讲起来就太多太多了,我这里就给几个小建议吧:可以大范围搜索,尝试弱口令进入后台,再进行挖掘,这里注意了!后台xss不要挖......
上图几个驳回就是后台存储xss,这些洞CNVD不收,不过可以尝试结合未授权漏洞实现后台xss注入......
还可以找CNVD历史漏洞,根据特征进行二次开发挖掘等等,多去看看那些漏洞挖掘文章嘛。
B:关于CNVD黑盒挖洞模拟练习,你可以先用公开poc去刷,例如佩奇文库上面的poc,刷出来一个漏洞后,你就相当于有了整个漏洞挖掘过程的开始和结尾部分。
你需要做的就是利用你的漏洞挖掘知识,去尝试把中间过程还原出来,锻炼你的FUZZ能力。
这样多练习几次,黑盒出通杀0day是可以的。CNVD是收0day的地方,但是0day不一定能过CNVD审核哦。
以上讲的均是通用型CNVD漏洞挖掘,我是不太建议小白去挖事件型CNVD的,另外挖洞要注意分寸,点到为止,不要什么都去试。
像跑接口测试时,那些update,delete类危险的字段就不要去测试,因为这类接口可能一访问就直接执行,对数据造成破坏了。还有get类字段,测试也要小心,因为在正常业务下,get接口的请求可能还会伴随一些字段对“拿”的数据量进行限制,如果你在FUZZ时直接发起“拿”的请求,可能一下把所有数据从数据库里调用出来,数据量大的话容易造成数据库崩溃。
光看是不会出成绩的,去挖吧,细心一点。