题目地址:https://ctf.show/
打开网站没有发现可用的注入点,应该不是注入了,直接看源码,发现提示?cmd=。
在网站上输入?cmd=phpinfo();有回显,猜测源码中应该为eval($_GET['cmd']);
在eval执行漏洞中我们可以查看网页的源代码。我们输入
?cmd=highlight_file("index.php");成功显示网站源码。

这里再介绍一个php的函数glob();
glob() 函数返回匹配指定模式的文件名或目录。
举个例子:
glob("*") 匹配任意文件
glob("*.txt")匹配以txt为后缀的文件
有了这个方法我们先把当前目录下所有的文件找出来看看有没有可用的。输入?cmd=print_r(glob("*"));打印出了如下文件

看来flag就在那个很长名字的php文件中了。
我们使用highlight_file()函数成功输出该php文件中的源码。

本文通过分析CTF挑战网站,发现并利用PHP代码执行漏洞,成功获取网站源码及隐藏FLAG。详细展示了从发现可疑参数到利用glob()函数枚举文件,最终定位FLAG位置的过程。
1万+





