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

任意文件读取
src
开局一个输入框,测了半天啥也没有

查看网页源代码发现可以的图像地址

解码发现居然是走的 HTTP 协议请求外部地址

抓包修改参数发现存在任意文件读取

读取到两个用户
1 | user:x:1000:1000:,,,:/home/user:/bin/bash |
前面 NMap 扫描出 80 是 Apache 服务,读取 Apache 的默认配置文件,以便发现其他 Web 服务或配置信息

从配置文件中发现,该服务器在 8080 端口还运行着另一个网站服务,但该端口在防火墙层面被 filtered(由 nmap 扫描结果可知),无法从外部直接访问
1 | <VirtualHost *:8080> |
读取网站源码 /var/www/index.php
1 | <html> |
从上面发现有个 checkpromo.php 文件,继续读取
一眼存在 SQL 注入漏洞
1 |
|
拿到数据库账号密码

SSRF
src
测试下能不能通过 SSRF 访问其内部的 8080 端口,结果存在漏洞

SQL 注入
promocode(双重编码绕过)
尝试 SQL 注入发现被 IPS 过滤了

直接这样写会因 URL 嵌套需要编码
使用 quote_plus 将内层 URL 编码一次,再对外层 src 参数整体编码
其中 %2527 是单引号的双重 URL 编码(' → %27 → %2527)
返回“Promocode not valid!”,说明没有触发 IPS 拦截,且 SQL 语句执行正常(因为没有符合的记录)

手测提取用户名与密码:andrea / SayNoToPentests
弱口令
SSH
使用上面注入出来的账号密码登录成功

提权
PHP 反弹 Shell
这个用户权限太少了,得换一个用户

下载反弹 Shell 脚本

cp 命令可用,拷贝过去

浏览器访问脚本成功拿到 Shell

Python 升级为交互式 Shell
1 | python -c 'import pty;pty.spawn("/bin/bash")' |

内核 overlayfs 文件系统(CVE-2015-1328)
最后打 overlayfs 内核漏洞提权即可
