Php 这个preg_可被利用吗?

Php 这个preg_可被利用吗?,php,code-injection,exploit,Php,Code Injection,Exploit,我希望利用这个preg_replace调用: $str = preg_replace($pattern, '__', $str); 我可以控制$str和$pattern变量,但我不确定这是否足以注入 任意PHP代码。有什么想法吗?:) preg\u replace只有在使用e修饰符时才可被利用。这意味着$replacement字符串将作为PHP代码计算。由于您无法让远程用户更改$replacement,因此它不易受到攻击。不知道您在问什么为什么要求进行攻击?这不是本网站帮助开发代码的目的。什

我希望利用这个preg_replace调用:

$str = preg_replace($pattern, '__', $str); 
我可以控制$str和$pattern变量,但我不确定这是否足以注入
任意PHP代码。有什么想法吗?:)

preg\u replace
只有在使用
e
修饰符时才可被利用。这意味着
$replacement
字符串将作为PHP代码计算。由于您无法让远程用户更改
$replacement
,因此它不易受到攻击。

不知道您在问什么为什么要求进行攻击?这不是本网站帮助开发代码的目的。什么是
$pattern
$str
?如何利用?结果是否进入数据库?壳文件你想做什么?如果你同时控制两个输入,那么显然它是不可利用的,因为没有用户控制的输入。@user2041321:为什么让用户输入正则表达式?你的最终目标是什么?很好地解释了一个模棱两可的问题谢谢@lonesomeday,我知道,这就是我发布这个问题的原因:知道是否有人知道注入PHP代码的解决方法,即使用户输入无法控制$replacement。我在考虑像preg_replace(“/eval(phpcode)/e”,“phpcode”)。换句话说,将PHP代码注入$pattern或$subject参数的方法!如果允许用户设置这些变量,则为“是”,否则为“否”no@user2041321如果您没有为用户提供的文本提供任何方式来输入所执行的字符串(而且您没有),则无法执行任意代码。除非您明确表示,
$pattern
$subject
或任何匹配项都不会执行。@Dagon当我说“我可以控制$str和$pattern变量”时,我的意思是我是远程用户,可以设置这些变量。你说是的,那么我如何利用它呢?