2017-04-12 122 views
-1

脚本中有什么错误?最后eval($main)我想看到输出为Hello World。我怎样才能做到这一点?PHP在eval中执行代码?

$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 
+3

你为什么要这样做? – WillardSolutions

+0

你在$ main中缺少';'。将它改为'$ main ='eval(base64_decode('。$ shahil。'));';'它应该可以工作...... Eval对于开发攻击和引发红旗非常有用。我个人建议使用'file_put_contents('xd.php',base64_decode('$ payload')); require_once( 'xd.php');取消链接('xd.php');'解决它的方法。 – Dimi

+0

你想混淆你的代码吗? – dparoli

回答

0

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

+0

@JorgeOberon非常感谢现在的工作.. – shahil4242

0

加法运算指令分离

eval($main.";"); 
+0

非常感谢它现在正在.. – shahil4242