A-A+

娱乐大表哥们从“知乎”打到了“CVE”

2018年04月11日 14:19 汪洋大海 评论 1 条 共3213字 (阅读4,174 views次)

原标题:CVE申请的那些事                    (文章为转载,最下方有原文连接。)

本人感言:有质量的CVE在简历中提现还是加分的,但是像https://www.exploit-db.com/exploits/44405/ 这种,呵呵,厉害了我的大表哥。

在上一篇分享《安全小白面试的那些坑》中和大家提到面试的时候可以在简历中附上提交过的原创漏洞如CVECNVD编号等信息,以证明自己在漏洞挖掘方面的技术经验和能力。

什么是CVE

对于新手来说申请CVE总是摸不清门道,总觉得像这种国际化的高大上漏洞很难申请到,其实则不然,CVE的全称是“Common Vulnerabilities and Exposures”翻译成中文就是“公共漏洞和披露”可以把它理解成一个被安全从业者认可的漏洞字典,大家可以通过编号在这里查找不同应用或系统的漏洞信息。当然很多安全企业或国家机构也都会引用CVE作为其漏洞库,比如美国国家漏洞数据库(NVD)。

什么是CNA

CNA的全称是“CVE Numbering Authority”中文可以理解为“CVE编号授权机构”顾名思义就是这些CNA有权限分配和管理CVE编号,截止目前为止,共有85CNA,覆盖14个国家。CNA包括供应商(比如苹果、谷歌等公司)和项目发起机构,漏洞研究人员、国家和行业CERT以及漏洞奖励计划组织。这些CNA可以构建CVE列表,并分配列表中的CVE编号和录入相关信息。

我们应该怎么申请CVE

通过上面的说明,你应该能猜到了,想要申请CVE编号那当然要去找CNA了,因为CVE编号都是CNA创建和维护的嘛。

虽然找到找谁了,但是85CNA呢,咱们应该找哪个呢?

那要看我们发现的是上面漏洞了,申请CVE大致可以分为3种情况,这3种情况套哥我都尝试并成功过,下面给大家一一讲解下:

第一种:找Participating CNACVE编号

第二种:找Primary CNACVE编号

第三种:找Distributed Weakness Filing Project CNACVE编号

第一种:找Participating CNACVE编号

首先来说说这第一种找Participating CNACVE编号Participating CNA的意思就是参与CNA,你可以把他们理解为参与CVE计划的公司或项目发起者,总之就是有产品拿出来让大家挖漏洞的,这些CNA有一个列表在http://cve.mitre.org/cve/request_id.html#cna_participants

1.png

如上图所示,这个列表主要有4个部分,分别是名称(Product, Vendor, or Product Category Name)范围(Scope)联系方式(CNA Contact Email and/or Webpage (if applicable))CNA类型(CNA Type)。我们关注的主要是范围联系方式

2.png

比如你发现了Adobe产品的漏洞并且在Adobe issues的范围内,那么就可以发送邮件到psirt@adobe.com申请CVE编号,或者访问Adobe公司的安全中心页面https://helpx.adobe.com/security/alertus.html进行反馈。

第二种:找Primary CNACVE编号

这个第二种方式是找主CNA要编号,什么是主CNA呢?其实就是MITRE官方,细心的你可以会发现其实MITRE也是在参与CNA里面而且是第一个,区别在于如果你找到的漏洞不在参与CNA那些公司里面,但是漏洞又确实存在,那么就可以找MITRE官方来申请编号。

3.png

方法很简单通过MITRE CVE Request web form页面进行提交即可,地址是https://cveform.mitre.org/,这个页面还是很友好的,不过是英文的,我们提交漏洞也需要使用英文。在实战章节会给大家详细讲解。

第三种:找Distributed Weakness Filing Project CNACVE编号

这个第三种方式翻译过来是“分布式弱点申报项目”,其实主要是指不在参与CNA那些公司里面并且是开源软件或系统的漏洞,可以通过这种方式提交,可以看到联系方式有3种,第一个是邮箱、第二个是页面、第三个是github地址

4.png

比如你在github上发现某个开源项目存在漏洞,就可以通过发邮件给cve-assign@distributedweaknessfiling.org或者通过https://iwantacve.org/ 页面表单提交或者访问DWF GitHub page页面提交。当然你会发现访问https://iwantacve.org/是需要梯子的。

而且。这种方式审批极慢!!!这种方式审批极慢!!!这种方式审批极慢!!!

那正确快捷的方法是上面呢?当然是选择前两种方法啦,其实细心的你也会发现,通过前两种方法可以完全覆盖所有的漏洞,简单来说“第一种呢是列表里的厂家的漏洞,第二种呢是除了第一种以外的所有漏洞”。下面实战讲解下具体申请流程吧,套路是“找开源CMS漏洞,用第二种方法申请CVE编号!”

实战获取CVE编号

思路:

1、在github上寻找目标找漏洞

2、在github上提交Issues

3、通过https://cveform.mitre.org/提交

下面就具体实战演示。首先在github上用关键字cms进行搜索,然后找你熟悉的编程语言(套哥我喜欢php)然后找一个看上去不那么复杂的cms作为目标。

5.png

套哥找的是一个叫“五指CMS”php开源项目,看这个cms官网上介绍还说的是“高性能、强安全”……

确定目标后下载程序、搭建环境、上扫描器、代码审计……你们的方法肯定比我多,毕竟套哥我已经老了,跟不上现在的圈子了^_^!!!

很简单,在后台发现两个csrf,可以通过2步添加管理员,第一步csrf添加一个普通用户并激活,第二步csrf把添加的普通用户提升为管理员。你们是不是觉得没营养,其实也不完全没营养,这里面遇到一个问题,就是post包的data里有一个"submit=提交",这个在构造自动提交formhtml页面时是与提交js中的"submit()"重名的,导致js中的"submit()"不会执行,开始的时候想着直接去掉这个参数应该不会有影响,但是提交后回显“参数错误”。网上百度了不少也没找到好的方法,最后群里问了下大表哥找到了方法。把这个"submit=提交"放到URL里,其他数据放在postdata里。结果当然OK啦。
csrfpoc如下:

6.png

7.png

效果如下:

8.png

漏洞找到了,第二步就是到github上提交Issues。没有github账号的小伙伴请自行申请,套哥也没有github的账号,于是发大表哥帮忙提交到了wuzhicms的官方Issues,地址如下:

https://github.com/wuzhicms/wuzhicms/issues/128

把漏洞和触发条件说清楚即可,因为要提交CVE就让大表哥用英文写的Issues

准备工作基本完毕,下面是第三步提交到mitre官方平台,页面在https://cveform.mitre.org/,按照下图填写:

9.png

10.png

11.png

填好后,填写验证码提交即可。提交后一般马上会收到官方的确认邮件。大概意思就是感谢你提交漏洞,将有CVE团队成员进行审核,如要更改、添加信息可以直接回复邮件,不要更改邮件标题等等。

12.png

可以不用理会,一般过1-2天就会有审核的结果邮件,邮件里会有你提交漏洞的信息和分配的编号。

13.png

到这里基本就已经申请完成了,漏洞将在24小时内发布到CVE官网,可以通过https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9926访问

14.png

 

文章为转载,原文连接地址:http://5ecurity.cn/index.php/archives/242/

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

1 条留言  访客:1 条  博主:0 条

  1. sunu11

    要是早点看到老哥的文章,我就不用发愁好几天了233333

给我留言