2017-04-12 61 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