攻防世界 file_include

发布时间 2023-12-01 00:15:11作者: 落寞孤云

进入主页面,发现代码中include中的变量可控,尝试构造payload: php://filter/read=convert.base64-encode/resource=check.php,弹出提示,发现字符串中有过滤。

尝试后发现 string 与 convert 中大部分方法被过滤,只剩下 convert.iconv 过滤器。这个过滤器用于转换字符编码,由此想到可以转换编码使得出现乱码,从而显示php代码,遂一个个尝试 ascii 转换,发现 utf-7 中特殊字符如 ‘<’ 不兼容 ascii 。于是构造 payload:php://filter/convert.iconv.ascii.UTF-7/resource=check.php ,成功获取 check.php 内容。猜测题目到此已经完成了,直接访问 php://filter/convert.iconv.ascii.UTF-7/resource=flag.php ,果然,拿到flag。