当前位置: 首页 > news >正文

用docker搭建的Vulfocus镜像管理界面没有镜像可以拉取解决办法

ps:截止到今天2023.4.2,kali和vps的docker拉取的vulfocus镜像会有版本的区别,虽然都是拉取的最新版,vps上镜像为3个月以前,kali上为16个月以前,==所以在修改 views.py 文件时,可能会发现文件内容不一样==。版本不同也导致一键同步报错的解决办法在vps上可行,但是在kali上就不行

17.png

18.png

在开始操作之前,需要将用户切换为root用户 ૮(˶ᵔ ᵕ ᵔ˶)ა,当kali和vps上出现不同操作时我会分开说,那么现在让我们开始

RC.gif

# 1、查看容器ID

用命令 docker ps -a 查看 vulfocus 容器的ID ,接下来会使用到它

1.png

# 2、启动容器

启动容器(==如果启动了就不用执行==),这里用到命令 docker start 你的容器ID

2.png

# 3、查看需要修改的文件

先去容器里确定是否有我们需要修改的文件,先用 docker exec -it 你的容器ID /bin/bash 进入容器,通过命令 cd ./dockerapi 进入 dockerapi 目录(进入时我们已经在 vulfocus-api 目录下了),再输入 ls 查看是否有 views.py 文件,如果没有的话,可能需要重新从 docker 拉取 vulfocus 的镜像,如果有请输入exit退出容器

3.png

# 4、拷贝出需要修改文件(容器里没有vim命令,不能直接修改)

Kali:输入命令 docker cp 你的容器ID:/vulfocus-api/dockerapi/views.py /home/kali/ ,将容器里的 views.py 文件拷贝到 kali 机器上的 ==/home/kali 目录下==

4.jpg

VPS:输入命令 docker cp 你的容器ID:/vulfocus-api/dockerapi/views.py /home/用户/ ,将容器里的 views.py 文件拷贝到 ==/home/用户 目录下==,然后到这个目录用 ls 查看一下

5.png

# 5、修改文件

Kali:打开 views.py 文件,在第 1576 行处,将 url 改为 https://vulfocus.cn/api/imgs/info,如果打开发现 1576 行不是这样,而是和 ==VPS== 这边的图一样,请看 ==VPS== 这边

6.png

VPS:将 views.py 文件下载到本地,这样修改起来会方便一点,保存时也不会报权限错误。如果打开文件时第 1575 行不是图这样,而是和 ==Kali== 的一样,可以直接按 kali 的来修改

7.png

这种情况需要添加一大段代码,需要添加的代码如下

    try:url = "http://vulfocus.cn/api/imgs/info"res = requests.get(url, verify=False).contentreq = json.loads(res)image_names = list(ImageInfo.objects.all().values_list('image_name', flat=True))for item in req:if item['image_name'] == "":continueif 'is_docker_compose' in item:if item['is_docker_compose'] == True:continueif item['image_name'] in image_names:if item['image_name'] == "vulfocus/vulfocus:latest":continuesingle_img = ImageInfo.objects.filter(image_name__contains=item['image_name']).first()if single_img.image_vul_name != item['image_vul_name'] or single_img.image_vul_name == "":single_img.image_vul_name = item['image_vul_name']if single_img.image_desc == "":single_img.image_desc = item['image_desc']if single_img.rank != item['rank']:single_img.rank = item['rank']if single_img.degree != item['degree']:single_img.degree = json.dumps(item['degree'])if "writeup_date" in item and single_img.writeup_date != item['writeup_date']:single_img.writeup_date = item['writeup_date']single_img.save()else:if "writeup_date" in item:writeup_date = item['writeup_date']else:writeup_date = ""image_info = ImageInfo(image_name=item['image_name'], image_vul_name=item['image_vul_name'],image_desc=item['image_desc'], rank=item['rank'],degree=json.dumps(item['degree']),is_ok=False, create_date=timezone.now(), writeup_date=writeup_date,update_date=timezone.now())image_info.save()return JsonResponse({"code": 200, "data": "成功"})except Exception as e:return JsonResponse({"code": 201, "data": e})

添加在如图所示位置,需要注意代码格式和排版,他们都在自定义的 get_timing_imgs 函数下

8.png

9.png

# 6、关于一键同步报错问题

关于一键同步报错问题,vps 上拉取的vulfocus并没有这个问题,如图所示的这个代码,红框部分就是和同步有关的,它并不能放在 try 这段代码后面,如果 kali 上想尝试解决一键同步报错,可以尝试将这个段代码加载如图所示位置(但是,截至写这篇文章为止,我尝试加这段代码并不能解决)

tasks.synchronous_image.delay()
return JsonResponse({"code": 200, "data": "镜像同步中"})

11.png

# 7、保存

Kali:点击保存,另存为到桌面(不替换的原因是我尝试之后发现替换不了)

12.png

VPS:直接 Ctrl + s 保存

# 8、替换文件

Kali:将原来 /home/kali 目录下的 views.py 文件删除,把桌面新保存的 views.py 文件移动到 /home/kali 目录下

13.png

VPS:将原来的 views.py 文件删除,再把桌面上修改好的文件上传到相同目录

# 9、替换容器内的文件

Kali:输入命令 docker cp /home/kali/views.py 你的容器ID:/vulfocus-api/dockerapi/views.py ,将 views.py 文件拷贝到容器内,替换掉原来的文件,再使用命令 docker restart 你的容器ID 重启容器

14.png

VPS:输入命令 docker cp /home/用户/views.py 你的容器ID:/vulfocus-api/dockerapi/views.py ,将 views.py 文件拷贝到容器内,替换掉原来的文件,再使用命令 docker restart 你的容器ID 重启容器

15.png

# 10、等待重启完成后,在浏览器中访问Vulfocus,点击镜像管理,查看是否有镜像可以拉取

16.png

# 11、查询功能可以正常使用,涵盖了 vulfocus 上的所有靶场,但是添加功能里的搜索镜像的功能还没有解决,本地靶场还是能正常导入

希望能帮助到你૮(˶ᵔ ᵕ ᵔ˶)ა

相关文章:

用docker搭建的Vulfocus镜像管理界面没有镜像可以拉取解决办法

ps:截止到今天2023.4.2,kali和vps的docker拉取的vulfocus镜像会有版本的区别,虽然都是拉取的最新版,vps上镜像为3个月以前,kali上为16个月以前,所以在修改 views.py 文件时,可能会发现文件内容不…...

CSPM.pdf

PDF转图片 归档:...

多个短视频剪辑成一个视频:四川京之华锦信息技术公司

多个短视频剪辑成一个视频:创作中的艺术与技术 在数字时代,短视频以其短小精悍、内容丰富的特点,迅速成为社交媒体上的热门内容形式。然而,有时单一的短视频难以完全表达创作者的意图或满足观众的观赏需求。因此,将多…...

算法第三天力扣第69题:X的平方根

69. x 的平方根 (可点击下面链接或复制网址进行做题) https://leetcode.cn/problems/sqrtx/https://leetcode.cn/problems/sqrtx/ 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被…...

异常处理。

异常 是指程序运行中出现了错误。 捕获异常: 对bug进行提醒,使整个程序继续运行。 捕获所有异常: try:#可能出错的代码 except:如果出现异常执行的代码 可以输出异常的类型: try:a1bhuishprint(ab) except Exception as i:…...

MySQL—函数(介绍)—字符串函数(基础)

一、引言 提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。 …...

CTF本地靶场搭建——静态flag题型的创建

静态flag题型的创建 首先这里要说的是静态flag和动态flag。 在CTF(Capture The Flag)比赛中,静态flag的使用通常与特定的赛制或题目类型关联,而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的,不会随比…...

基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五)

上一篇:搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四) 下一篇:基于Django的博客系统之增加类别导航栏(六) 功能概述 添加搜索框用于搜索博客。 需求详细描述 1. 添加搜索框用于搜索博客 描…...

开源VS闭源:大模型发展路径之争,你站哪一派?

文章目录 引言一、数据隐私1.1开源大模型的数据隐私1.2 闭源大模型的数据隐私1.3 综合考量 二、商业应用2.1 开源大模型的商业应用2.2 闭源大模型的商业应用2.3 商业应用的综合考量 三、社区参与3.1 开源大模型的社区参与3.2 闭源大模型的社区参与3.3 综合考量 结论 引言 在人…...

Python | Leetcode Python题解之第115题不同的子序列

题目&#xff1a; 题解&#xff1a; class Solution:def numDistinct(self, s: str, t: str) -> int:m, n len(s), len(t)if m < n:return 0dp [[0] * (n 1) for _ in range(m 1)]for i in range(m 1):dp[i][n] 1for i in range(m - 1, -1, -1):for j in range(n …...

STM32高级控制定时器应用之检测输入PWM周期和占空比

目录 概述 1 PWM 输入模式 1.1 原理介绍 1.2 应用实例 1.3 示例时序图 2 使用STM32Cube配置工程 2.1 软件环境 2.2 配置参数 2.3 生成项目文件 3 功能实现 3.1 PWM占空比函数 3.2 输入捕捉回调函数 4 功能测试 4.1 测试软件框架结构 4.2 实验实现 4.2.1 测试实…...

[AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力

Workspace 侧边栏中的 Gemini 现在将使用 Gemini 1.5 Pro&#xff0c;新的 Gemini for Workspace 功能即将登陆 Gmail 移动应用&#xff0c;等等。 Gemini for Google Workspace 帮助个人和企业更好地利用 Google 应用——从在 Gmail 中撰写邮件到在 Sheets 中组织项目计划。过…...

【U-Net验证】逐元素乘积将特征投射到极高维隐式特征空间的能力

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需使用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言网络结构编码结构解码结构代码 实验实验设置w/o-ReLU的性能比较with-ReLU的性能比…...

快团团大团长帮卖如何导出单个团购的订单?免费教程教你怎么做!

一、小程序端如何导出单个团购的订单&#xff1f; 进入团购页面&#xff0c;在订单管理——订单导出中&#xff0c;点击订单数据表格&#xff0c;可导出到邮箱&#xff0c;或通过在浏览器中查看下载链接 二、电脑端如何导出单个团购的订单&#xff1f; 1、如何自定义选择订单信…...

services层和controller层

services层 我的理解&#xff0c;services层是编写逻辑代码语句最多的一个层&#xff0c;非常重要&#xff0c;在实际的项目中&#xff0c;负责调用Dao层中的mybatis&#xff0c;在我的项目中它调用的是这两个文件 举例代码如下 package com.example.sfdeliverysystem.servic…...

Pycharm编辑器下自定义模块导入报错:no module named问题

相信很多使用pycharm 社区版编写python 程序的初学者都会遇到这样一个看似简单但是一时半刻找不到解决头绪的问题&#xff1a; 在同个目录下导入自己编写的模块到主程序的过程中&#xff0c;直接import的时候会报错&#xff1a;ModuleNotFoundError。 通过各种方法尝试以后还是…...

C#使用GDI对一个矩形进行任意角度旋转

C#对一个矩形进行旋转GDI绘图&#xff0c;可以指定任意角度进行旋转 我们可以认为一张图片Image&#xff0c;本质就是一个矩形Rectangle,旋转矩形也就是旋转图片 在画图密封类 System.Drawing.Graphics中&#xff0c; 矩形旋转的两个关键方法 //设置旋转的中心点 public v…...

打印机的ip不同且连不上

打印机的ip不同且连不上 1.问题分析2.修改网段3.验证网络 1.问题分析 主要是打印机的网段和电脑不在同一个网段 2.修改网段 3.验证网络...

关于linux程序的查看、前台运行、后台运行、杀死的管理操作。

前言 在Linux中&#xff0c; 程序&#xff08;program&#xff09;是放在磁盘上的程序&#xff0c;是不会执行的。 进程&#xff08;process&#xff09;是程序被触发&#xff0c;从而加载到内存中的&#xff0c;会被CPU随机执行。 Linux中&#xff0c;有非常多的进程在实时运…...

STM32作业设计

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...