热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

手把手教你手动更新nexus私服索引

1 背景 strut2 又爆出漏洞了(不得不吐槽 strut2 的漏洞可真多啊,不过也说明还有很多系统使用它): 漏洞影响范围: Struts 2.3.5 – Struts 2.3.31 S
1 背景

strut2 又爆出漏洞了(不得不吐槽 strut2 的漏洞可真多啊,不过也说明还有很多系统使用它):

漏洞影响范围: 


Struts 2.3.5 – Struts 2.3.31
Struts 2.5 – Struts 2.5.10

解决办法:Upgrade to Struts 2.3.32 or Struts 2.5.10.1

无独有偶,spring 框架也出现了漏洞:

1、CVE-2018-1270 漏洞: Spring Framework 的 5.* 版本 、4.3.* 版本以及不再支持的旧版本,通过 spring-messaging 和 spring-websocket 模块提供的基于 WebSocket 的 STOMP ,攻击者可以通过建立 WebSocket 连接并发送一条消息造成远程代码执行,从而实现远程代码执行攻击 。
2、CVE-2018-1271 漏洞: Spring Framework 的 5.* 版本 、4.3.* 版本以及不再支持的旧版本, Spring MVC 允许应用程序对其配置提供静态资源,在 Windows 系统上实现该功能时,攻击者通过请求构造的特定资源 URL ,可能导致目录遍历的效果产生 。
3、CVE-2018-1272 漏洞: Spring Framework 的 5.* 版本 、4.3.* 版本以及不再支持的旧版本,当 Spring MVC 或 Spring WebFlux 服务器接受把客户端请求再转向另一台服务器的场景下,攻击者通过构造和污染 Multipart 类型请求,可能对另一台服务器实现权限提升攻击 。

看了一下 nexus 中的索引还没有自动更新(可能的原因估计是公司的网络太烂了 -_-),所以不能直接替换新包,只好手工更新。

2 实践

2.1 下载公共库索引

在 maven 公共库中,下载最新的索引文件(网页拉到最下面就可以看到):

  • nexus-maven-repository-index.gz (300M 以上,要等一等咯)
  • nexus-maven-repository-index.properties
手把手教你手动更新 nexus 私服索引
image.png

下载后的 *.gz 与 *.properties 最好把相应的 *.sha1 文件也一并下载下面,然后通过 Windows 系统的 certutil 工具进行验证:

certutil -hashfile 文件路径
手把手教你手动更新 nexus 私服索引

*.gz 与 *.properties 文件计算出的 SHA-1 的值如果与下载的 *.sha1 文件内容一致,就说明文件是完整的。

2.2 下载解析和发布索引的工具(indexer-cli)

在 maven 中心库的搜索页的输入框中,输入:

g:"org.apache.maven.indexer" AND a:"indexer-cli"
手把手教你手动更新 nexus 私服索引

2.3 更新索引

1 把刚刚下载的索引和工具放在同一个文件夹下:

手把手教你手动更新 nexus 私服索引

2 进入命令行,输入以下命令,对索引进行解析:

java -jar indexer-cli-6.0.0.jar -u nexus-maven-repository-index.gz -d indexer

因为索引文件很大,所以需要等待一段时间,解压后大概 1.5G,在同一个目录会生成 indexer 文件夹。

**注意:如果 Sonatype Nexus 版本为 2.x,请使用 indexer-cli-5.x.x.jar 包。否则, indexer-cli-6.0.0.jar 生成的索引文件无法识别。 **

3 手动更新索引

[1] 关闭 nexus 服务。
[2] 清空 {nexus-xxx}…sonatype-workindexercentral-ctx 下的所有文件。
[3] 拷贝刚生成的 indexer 文件夹下的所有文件到上面的目录。
[4] 启动 nexus 服务。

3 观察结果

打开 nexus 服务页,搜索 spring-context,哈哈,最新的 spring 库已经更新成功啦,是不是很酷 O(∩_∩)O~

手把手教你手动更新 nexus 私服索引
4 后记

有时候因为补丁包太新了,所以在 Maven 公共库的索引中还没有最新的包,那么这种情况下,就需要到 maven 中心库的搜索页 下载最新的包,然后作为第三方库放入 nexus 中。


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
author-avatar
从容嘛_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有