Xctf之file_include
进入给的地址,看到这个源码,首先想到,使用php伪协议进行读取,flag.php文件,直接filename = php://filter/read=convert.base64-encode/resource=flag.php,发现提示个上述图片中的一样,然后使用string.rot13编码,还是无法绕过,正好在查找关于php伪协议的时候,看到一篇关于php://filter以及死亡绕过。
尝试下,发现可以。
ok,完成。不过出来的结果编码就是utf-32格式的,无法直接复制到flag上传的地方,需要你转码下,或者使用qq,截图后识别文字,然后就行了。
这个题,总体来说,难度不高,(但我确实第一次,了解死亡绕过,学到了学到了。。)但关键在于对php伪协议,有比较清楚的了解,这个就很重要了。
参考链接
PHP伪协议大总结: https://www.php.cn/php-weizijiaocheng-481803.html
PHP伪协议详解:https://blog.csdn.net/cosmoslin/article/details/120695429
详解php://filter以及死亡绕过:https://blog.csdn.net/woshilnp/article/details/117266628