先看提示
这里有一个登陆和一个注册,尝试注册admin显示已经存在,猜测SQL注入,发现这里有WAF无法绕过,先注册进去看看
提示只有admin才会给hints
扫下目录
www.zip源码泄漏,这里发现shell.php但是目前还无法利用
代码审阅
限制了
Login和Register都对可控参数做了转义,无法利用
Userinfo中没有限制,所以可以利用修改密码改实现越权
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
修改密码后即可使用新密码登陆admin
这里使用gopher协议来进行ssrf
?url=gopher://127.0.0.1:80/_GET%20/xinan/public/shell.php
/_GET%20/ 表示用gopher协议向80端口发了一个GET请求
下面就是提供cmd参数?是特殊字符需要二次编码%253F,可能是协议的特性问题,别的%20 %2B都是一次编码
?url=gopher://127.0.0.1:80/_GET%20/xinan/public/shell.php%253Fcmd=cat%2B/flag
得到flag
参考文章: