攻防世界-fileclude
一
要传入两个值,flie1和flie2
file1是最终要读取flag的,又是文件包含,用php://filter读取
要file2满足条件file_get_contents($file2) === "hello ctf"才会执行file1
不能让flag2直接等于hello ctf,要让hello ctf先包含进文件
所以可以用file2=php://input,POST写入hello ctf
这样hello ctf就被写入file2了
GET?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://inputPOSThello ctf=hello ctf
然后抓包,POST只保留hello ctf(如果直接在HackBar上写hello ctf,bp抓不了包,一定要加=)
然后base64解码
二
页面上看不出什么东西,查看源代码
输入的变量是language,用COOKIE传参,输出的是x
19行 @include("english.php")可以看出此处存在文件包含。include函数用php://filter伪协议来绕过
flag后面不加.php,会自动加上
这里直接用language=flag显示不出php代码
language=php://filter/read=convert.base64-encode/resource=flag
base64解码
来源地址:https://blog.csdn.net/m0_62094846/article/details/127174828
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341