[HCTF 2018]WarmUp1
[HCTF 2018]WarmUp1
源码发现source.php页面

访问页面发现代码审计

发现页面hint.php,访问发现

根据source.php代码审计,发现其逻辑为:
file 不空、为字符串且经过emmm类的checkFile函数过滤,就执行文件包含,否则就输出滑稽图片,而需要被包含的文件就是hint.php提示的ffffllllaaaagggg。
函数解释:
mb_substr() 函数返回字符串的一部分。substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用mb_substr()
ps:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0
mb_strpos() 查找字符串在另一个字符串中首次出现的位置
in_array() 函数搜索数组中是否存在指定的值
ps:如果 search 参数是字符串且 type 参数被设置为 TRUE,则搜索区分大小写。
urldecode():解码已编码的 URL 字符串
所以绕过思路为:
?file=source.php?../../../../../ffffllllaaaagggg
坑点:在此曾多次尝试../ffffllllaaaagggg均为找到,直到第五层,也就是../../../../../ffffllllaaaagggg才出现flag

本文来自博客园,作者:TazmiDev,转载请注明原文链接:https://www.cnblogs.com/tazmi/p/18535664

浙公网安备 33010602011771号