PHP在eval中执行代码?

时间:2017-04-12 17:46:21

标签: php eval

剧本中的错误是什么?最后eval($main)我希望将输出视为Hello World。我怎么能这样做?

$str = ' echo "Hello World"; '; 
echo "<br><br>" ;

eval($str); // Hello World

$final = base64_encode($str); // IGVjaG8gIkhlbGxvIFdvcmxkIjsg
$ob_code = $final; // IGVjaG8gIkhlbGxvIFdvcmxkIjsg

$shahil = "\"$ob_code\""; // "IGVjaG8gIkhlbGxvIFdvcmxkIjsg"


$main = 'eval(base64_decode('. $shahil . '))'; // eval(base64_decode("IGVjaG8gIkhlbGxvIFdvcmxkIjsg"))

echo "<br><br>" . $main; // 

echo "<br><br>" ;

eval(eval(base64_decode("IGVjaG8gIkhlbGxvIFdvcmxkIjsg"))); // Hello World

echo "<br><br>";

eval($main); //  Parse error: parse error in C:\wamp\www\OBFUSCATOR\NEW\newmy_ob.php(21) : eval()'d code on line 1

2 个答案:

答案 0 :(得分:0)

添加指令分离

eval($main.";");

答案 1 :(得分:0)

其他人指出eval($main.";");应该解决您的问题。但是,请记住,出于安全原因,大多数PHP配置会阻止eval代码,使您的uglify脚本无效。