[BJDCTF2020]ZJCTF,不过如此

在这里插入图片描述
先看到第一个if
要求写个句子
用data伪协议来写

?text=data:text/plain,I have a dream

[BJDCTF2020]ZJCTF,不过如此_第1张图片
包含一下next.php

file=php://filter/read=convert.base64-encode/resource=next.php

next.php源码如下
[BJDCTF2020]ZJCTF,不过如此_第2张图片
很明显要我们绕过那个正则匹配,
[BJDCTF2020]ZJCTF,不过如此_第3张图片
然后执行eval()函数
而我们要执行eval()函数,就是要通过getFlag()这个函数,而怎么取调用呢?
把那个正则匹配表达式往上面一搜
/e模式的漏洞
为什么能这样我暂时也搞得不太懂 (我太废物了)
文章里提到

\S*=${phpinfo()} 

将上面输入会将phpinfo()当做php代码执行
那这题目做法就出来了

通过上述式子调用getFlag()函数,然后RCE

[BJDCTF2020]ZJCTF,不过如此_第4张图片
成功
接着找flag
[BJDCTF2020]ZJCTF,不过如此_第5张图片
查看根目录下的flag即可

你可能感兴趣的:(笔记)