SkyTower: 1
项目地址:https://download.vulnhub.com/skytower/SkyTower.zip
是一个打包好的镜像文件
注意:导入 vmx 时一定要选择我已移动,否则没网
使用 Nmap 扫描出开放服务及操作系统版本

SQL 注入
Skytech Login(万能密码)
这里有一些过滤,它将 “OR” 等字符过滤掉了,使用 || 代替
1 | ' || 1=1# |

登录成功拿到用户名密码
1 | 用户名:John |
提权
Squid 代理搭建隧道
使用上面的账号密码登录 SSH 失败,但前期使用 Nmap 找到了一个 Squid 代理
这样,我们就可以通过目标机器上的 Squid 服务器代理连接来访问 SSH 服务器
我们用代理隧道来实现这个功能
该命令使用 proxytunnel 工具通过 HTTP 代理服务器建立一个 TCP 隧道
1 | # -p 指定 HTTP 代理服务器的地址和端口 |
我们尝试通过 HTTP 隧道进行 SSH 连接,但糟糕的是发送了一些消息后连接就关闭了
1 | ssh john@127.0.0.1 -p 1234 |

~/.bashrc 错误绕过
询问 Claude 得知 SSH 连接被意外关闭的直接原因是目标主机的 ~/.bashrc 文件存在致命配置错误
当使用 ssh user@host -p port /bin/bash 时,SSH 会跳过所有 shell 初始化文件(包括 .bashrc, .profile),直接启动 /bin/bash
| 命令 | 执行流程 | 是否加载 .bashrc | 结果 |
|---|---|---|---|
ssh user@host |
1. 连接 2. 加载 ~/.bashrc3. 启动 shell |
✅ 是 | ❌ 失败(若 .bashrc 有错) |
ssh user@host /bin/bash |
1. 连接 2. 跳过所有初始化文件 3. 直接运行 /bin/bash |
❌ 否 | ✅ 成功(纯净 shell) |
1 | ssh john@127.0.0.1 -p 1234 /bin/bash |
将错误的 ~/.bashrc 文件删除
MySQL 弱口令
经过遍历各个目录,我们在 /var/www/ 目录下找到了 login.php 文件
其中包含我们可以使用的 MySQL 数据库密码

成功找到登录用户的密码

现在我们尝试使用 /bin/bash 参数登录 Sara 的 SSH 账户
和上次一样,我们会删除 Sara 的 .bashrc 文件

该用户拥有执行 sudo 命令而无需提供密码的权限

拿到 flag
