这是一个代码审计题目
开幕滑稽,既然什么也没有,直接试试找源代码
不知道干什么就三方法,抓包看源代码看返回包有没有东西
既然你都出现了source.php
反手访问一下source.php不过分吧
代码审计,这种东西看经验呗,不行就去百度呗
从以上代码可以得到:
Include没有任何过滤,那么文件包含漏洞就可以使用了
没学过的话打开搜索框找
开始绕过,第一步,定义file的值且是string类型
第二步,找到可以利用的函数
这句代码的意思是拼接page和?的值,返回?字符第一次出现的位置
那么我们可以在file值前面主动拼接一个souce.php?,无论后面加上什么,通过mb_substr截取后的值都是source.php,满足下面的条件,可以返回TRUE
最后格式为file=source.php?../../../../../xxx,来寻找这个xxx到底是什么
既然page要等于source.php,hint.php,应该不介意我访问一下吧,我们正处于source.php,访问hint.php(意思为“提示”)
我估摸着xxx也许就是ffffllllaaaagggg,当中间不确定有多少../时,都试试
得到了flag
flag{9633b57e-a312-4fe8-9309-8b4f15700411}
还是很简单的嘛,主要是php代码审计