[HCTF 2018]WarmUp(Web)
1、访问靶机,看到一个滑稽,其他什么也没有,看看源码,看到一个source.php文件路径
2、访问一下,然后就能看到源码了,发现一个hint,访问看看,得到提示flag in ffffllllaaaagggg,
3、应该是文件名称?再回去看代码,是file来传,那就试试这个文件名,不让我看,应该是还有要求
4、继续看看代码吧,不太懂这几个函数,查查
$_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);
mb_substr() 函数返回字符串的一部分,$page是需要匹配的字符串,然后从0开始,匹配到后面
mb_strpos():返回要查找的字符串在别一个字符串中首次出现的位置,也就是$page的第一个?出现的位置
综合上述,也就是说这个$_page所匹配到的是我们输入的file的第一个?之前的字符,符合上面的白名单,就可以
5、就可以构建文件包含,…/去试试,然后就得到了flag
?file=source.php?../../../../../ffffllllaaaagggg