2017-04-12 1 views
-1

Quel est le problème dans le script? Au bout eval($main) Je veux voir la sortie comme Hello World. Comment puis-je faire ceci?PHP Exécuter le code dans 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

Pourquoi voudriez-vous faire cela? – WillardSolutions

+0

il vous manque un ';' dans votre $ main. changez-le pour qu'il soit '$ main = 'eval (base64_decode ('. $ shahil. '));';' et ça devrait marcher ... Eval est très utile pour faire des exploits et déclenche des drapeaux rouges. Personnellement, je suggère d'utiliser 'file_put_contents ('xd.php', base64_decode ('$ payload')); require_once ('xd.php'); unlink ('xd.php'); 'approche pour le contourner. – Dimi

+0

essayez-vous d'obscurcir votre code? – dparoli

Répondre

0

Comme d'autres ont souligné eval($main.";"); devrait résoudre votre problème. Cependant, gardez à l'esprit que la plupart des configurations PHP bloquent le code eval pour des raisons de sécurité, laissant votre script uglify inutile.

+0

@JorgeOberon Merci beaucoup, il fonctionne maintenant .. – shahil4242

0

séparation d'instruction add

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

Merci beaucoup, il fonctionne maintenant .. – shahil4242