Zer0pts2020Canouguessit?

知识点

basename()特性的利用、利用特殊字符绕过正则

解题

点开source:

111.png

这里正则匹配得保证以config.php结尾,然后这里的hash_equals就是一个障眼法, 这里根本破解不了,也不是拿到flag的关键

然后这里是利用basename的特性:

112.png

可以看到 如果我们以/index.php/config.php 就可以利用highlight_file(basename())来读config.php的代码了,然后重点就是绕过正则匹配

因为basename()会去除文件名开头的非ascii字符,所以这里用/index.php/config.php/%ff 来绕过正则,同时经过basename()之后是index.php/config.php,最后的payload:

/index.php/config.php/%ff?source

113.png